APP代码规范

来源:互联网 发布:淘宝历史最低价怎么看 编辑:程序博客网 时间:2024/05/07 20:25

1)Java类文件命名规范。

·Activity命名规范:以Activity作为后缀。比如说PersonActivity。

·Adapter命名规范:以Adapter作为后缀。比如说PersonAdapater。

·Entity命名规范:大多以Entity作为后缀。比如说PersonEntity。值得注意的是,User是全局变量,不算是实体,不受此约束。


2)资源文件命名规范。

·layout目录下的文件命名规范:
·页面布局文件。以act_为前缀,以Activity所在的Package作为中缀,以Activity的名称(去掉Activity后缀)作为后缀。注意都是小写。

·例如,对于Person这个模块下的AddCustomerActivity,它的layout文件就应该是:act_person_addcustomer.xml。

·ListView中的item布局文件。以item_作为固定前缀,列表项的名称为后缀。注意都是小写。例如,某个页面下有一个用户列表,控件名为lvUserList,那么item的layout就应该是:item_lvUserList.xml。

·Dialog布局文件。
以dlg_作为固定前缀,Dialog的功能名称为后缀。注意都是小写,例如:dlg_hint.xml。

·drawable目录下文件命名规范。drawable目录下的资源,大部分是图片,此外,还有一部分xml文件,用于Selector。但无论是图片,亦或Selector文件,都应该遵守下述命名规范:

·对于只在一个页面使用的资源,就以该页面的名称作为前缀。
·对于只在一个模块下多个页面使用的资源,就以该模块的名称作为前缀。

·对于在各个模块、各个页面都有可能使用的资源,比如说上导航、下导航,以common作为前缀。


3)Java类中控件对象的命名规范。

控件类型缩写+控件的逻辑名称(首字母大写),比如登录按钮,就可以命名为btnLogin。
表4-1列出了一些常用控件的缩写。



4)Layout中控件对象的命名规范。
这里我建议,与Activity中相对应的控件名称保持一致。这样的好处是可以迅速copy-paste出以下代码而杜绝任何的潜在错误:

Button btn_login = (Button)findViewById(R.id.btn_login);

但是这样做与传统Android的命名规范就不一致了,至少违反了2条:不应该出现大写字母,btn和Login之间没有以下划线进行连接,以下的命名才是中规中矩的:

Button btnLogin = (Button)findViewById(R.id.sign_in_button);

(个人认为:Button btn_login = (Button)findViewById(R.id.btn_login) 比较好)


5)strings.xml中常量的命名规范。
因为这些值大多在Layout中的控件上使用,所以以该常量所在的Activity名称作为前缀,后面接控件名称,再后面就自由发挥了,比如登录页面的登录按

钮上显示的文字,就可以命名为:loginActivity_btnLogin_text。
另一种使用场景则是在Java代码中使用,可能出现在Activity中,也可能出现在工具类Utils中,这时候,如果是和具体Activity相关,那么规则和上面的一样,以所在的Activity名称作为前缀,如果涉及和公共模块和控件相关,就以common_作为前缀。

strings.xml的规则可以灵活一些。我们甚至可以将其按照模块拆分为多个strings文件,只要resoures标签下都是string标签就行,编译打包时会自动将同类文件进行合并,这样做的好处是,各个模块维护各自的strings.xml。但为常量命名时就一定要以模块名作为前缀了,不然很容易产生重名的情况,从而编译报错。


6)常量命名。
这一点遵守Java的命名规范,即只能包含字母和下划线_,字母全部大写,单词之间用下划线_隔开。
关于命名规范的事情,可以写十几页密密麻麻的规则,我这里只提到最关键的几点。其他的,要么是不重要,要么是使用场景少,所以都可以自由发挥。
记住,命名规范的作用在于:
·好的文件命名规范,让几千个文件分门别类的放在好找的位置。

·好的对象命名规范,让整个项目的代码风格整齐一致。
切记,不能为了规范而规范,网上的各种规范不胜枚举,让人眼花缭乱,但是过多的规范,会让App这个轻量级的应用背上越来越沉重的包袱,举步维艰。

制定一套切实可行、易于遵守的命名规范,是每个Team Leader的必备技能。


0 0
原创粉丝点击