之前写了一篇Java命名规范,但Android跟Java的领域毕竟不一样,结构也有差异。不能一概而论。
Android的命名规范应该有两个要点。
一、望文知义,简单明了
二、规整化一,归属清晰
从Android项目的目录结构来划分
一、Java类
1. Activity:XXXX+Activity的命名方式,XXXX是功能简写。
2. BroadcastReceiver:XXXX+Receiver的命名方式,XXXX是功能简写
3. ContentProvider:XXXX+Provider的命名方式,XXXX是数据存储用途简写
4. Adapter:XXXX+Adapter的命名方式,XXXX是用途简写
5. Entity:XXXX的命名方式,XXXX是用途简写。Entity基本上就是全部大写 + 下划线的方式。
6. 自定义View:这就需要具体情况具体分析。举例说转圈的ImageView,写成AnimationImageView。而一个按秒跳的时钟就是SecondClock。前者继承了ImageView,加上功能特性而成;后者以功能特性描述,为什么不加View呢?因为SecondClock已经非常清楚的描述的class的功能
注:不夸张不变态不反人类,就能说的过去。但不能忘了得做到一叶知秋,得一字而知乾坤。
二、资源布局
① Layout部分:
1. activity的layout:activity所在module开头, act中缀,activity名称后缀。
2. view布局的layout:module开头,功能简写 做 中缀。如果是ListView的每一个Item,那么就是module开头,item做中缀,功能简写做后缀
②drawable部分
这部分主要看 其 作用范围。
1. 单activity用,以该页面作为前缀
2. 单模块多activity用,以module作为前缀
3. 多模块用,以common作为前缀
前缀定下来之后,后面要按照drawable的使用场景加中缀,有必要的话后缀还得加状态
③asset部分
这部分往往都是单个文件,参考②的前缀规则。中缀用其本身的特征表示。
④strings.xml
Strings.xml不局限名称,可以用module_strings.xml的方式标记strings.xml名称。
参考②的作用范围的划分方案,这样划分之后,用 范围规则 + 使用的View的控件名 + text。
⑤dimen.xml
参考④
⑥styles.xml
也可以参考④
⑦themes.xml
这个比较特殊,一般来说,一个文件就够了。参考①描述的方案
⑧layout.xml那些布局文件
这里头的View ID,以其功能为主要描述。比如返回按钮,可以是btn_back。登陆按钮,可以是btn_login。在Java类中,的Button应该跟这里的ID有相互印证的样子
小结
规则是人定的。而且也没有个规范。大家各自有各自的方案。
但一定要把握两个要点。其他的百花争艳都无所谓。简洁、规整、望文知义知归属。那么这就是一套可行的命名规范。