美文网首页Android
android自用规范一:资源命名篇

android自用规范一:资源命名篇

作者: 紫阚 | 来源:发表于2016-05-09 20:20 被阅读1427次

    最好的规范就是没有规范,项目产出的代码如同一个人写出来的一样
    为了行文流畅,先描述下常见的命名法:

    1. 驼峰(camel),首字母小写,比如: firstName
    2. 帕斯卡(Pascal)首字母大写的驼峰,比如:FirstName
    3. 驼峰下划线,一般用于区别某个元素的从属模块和当前功能,在ID命名中比较常见
    4. 小写下划线,一般用于安卓资源文件的命名,比如:zoom_in
    5. 全部小写,用于java包名

    Activity、Fragment

    按照Activity的作用,采用帕斯卡命名。Activity、fragment作为最后词语补充,参考下面图片
    xml名字使用IDE自动生成的命名规则,无需修改

    fragment以此类推

    自定义控件类名

    派生自View的,选择View结尾
    派生自ViewGroup的,选择Layout结尾

    控件ID

    按照 控件缩写名_模块名_功能名,采用驼峰下划线命名
    原生的控件我们采用缩写名,自定义控件参考它继承的父类名。比如自定义控件ZXCustomLayout的父类是RelativeLayout,则其前缀缩写是 rl

    原生控件全名 缩写
    View vw
    TextView tv
    EditText et
    ImageButton ib
    Button btn
    ImageView iv
    ListView lv
    GridView gv
    ProgressBar pb
    SeekBar sb
    RadioButtion rb
    CheckBox cb
    ScrollView sv
    LinearLayout ll
    FrameLayout fl
    RelativeLayout rl
    Recyclerview rv
    WebView wv
    VideoView vv
    Spinner spn
    ToggleButton tb

    拿登陆打比方:et_login_userName、et_login_password、 btn_login_submit,这样的好处是:

    1. 命名冲突减少,我们在代码R.id.et_login_userName能直接定位到xml元素。
    2. 对应控件的作用在看代码的时候一目了然。

    控件的变量名

    (全局变量加m)+缩写(首字母大写)+功能名
    比如 mTvUserNamemIvUserAvatar

    资源文件

    png文件在添加到项目之前必须经 tinyPng压缩过

    此类资源涵盖res下所有文件夹。
    如果项目是插件结构,也就是一个宿主,有多个插件Moudle,建议资源文件加上插件的缩写作为前缀:插件名称homeworkhw_zoom_in.xml

    避免资源文件重名原因

    这些文件的命名优先参考** 描述当前资源的特性 ,没啥好描述的就使用 资源在所属模块的作用,采用小写下划线**命名,下面是一些例子

    • 一个缩放动画:zoom_in.xml

    • 一个圆角方形灰边的形状:round_square_frame_gray.xml

    • 一个按钮的背景,按下变灰,不按透明:selector_transparent_gray.xml

    • 一个图片:arrow_left_gray.png,描述顺序按照特征显著程度递减
      好处是按照特征方便归类,白色朝左的箭头我们就可以在arrow_left_*下面找
      下图我们首先注意到他是一个箭头,然后朝左的,其次颜色好像是灰色的。

      一个箭头、朝左、灰色
    • 一个不好描述的图片:game_bg
      这种资源一般作用场景单一,复用模块比较少,我们就按照资源在所属模块的作用原则来描述

      实在不知道咋形容

    善用模板增加可阅读性

    下面两个类,对于使用人来说,哪个更直观?


    三无产品.png 头文件注释.png

    在android studio 里,我们可以这样设置头文件注释

    android studio设置头文件.jpg

    下面是我们组里使用的头文件注释模板

    1. 功能:这个类是干啥的
    2. 描述:如何使用这个类
    3. 署名、日期:联系上作者
    /**
     * 功能:
     * 描述:
     * Created by 作者名 on ${DATE}.
     */
    

    相关文章

      网友评论

        本文标题:android自用规范一:资源命名篇

        本文链接:https://www.haomeiwen.com/subject/bumerttx.html