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

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

  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}.
 */
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章来自https://github.com/Blankj/AndroidStandardDevelop#安卓开发...
    小庄bb阅读 790评论 0 1
  • 还记得刚开始coding的时候,命名都是汉语拼音,所以有的时候想看懂它的意思,就要读一遍甚至好几遍才知道,这还是在...
    leo62阅读 9,092评论 2 19
  • Android 编码规范 1. 前言 这份文档是 Google Java Code Style 的译文,并稍有添加...
    人失忆阅读 459评论 0 3
  • 通常我们为了项目的维护会定下一系列的规范开发来提高自己或者团队之间的写代码的效率,正所谓无规矩不成方圆。 Andr...
    cpacm阅读 2,170评论 7 63
  • 【2016.09.15】 今天中秋节了。 我在大学的最后一个中秋,还是没有回家过。 虽然还是一个人,今年的中秋还不...
    真的以为阅读 262评论 0 0