您的位置:首页 > 移动开发 > Android开发

Android 命名规范和编码规范

2016-07-07 15:27 239 查看

代码命名规范:

无规矩不成方圆,一个项目必须有一个统一的命名规范,只有这样才是一个团队做出来的产品。命名规范需要注意一下几点:

命名规范不能太别扭
要清晰准确,望文知义。
命名规范千万不要指定太多,要做到简单易记,适可而止
具体规则如下:

Java类文件命名规范:

Activity命名规范,以Activity作为后缀。如AddCustomActivity
Adapter命名规范,以Adapter作为后缀。如AddCustomAdapter
Entity命名规范,大多以Entity作为后缀,但是注意的是类似User是全局变量不受此约束。
资源文件命名规范

layout目录下的文件命名规范:

页面布局文件:已act_为前缀,以Activity所在的Package作为中缀,以Activity的名称去掉Activity之后作为后缀。小写
ListView中的item布局文件:以item_作为固定前缀,列表项名称作为后缀。小写
Dialog布局文件:以dlg_作为固定前缀,Dialog的功能名称为后缀。小写
drawable目录下的文件命名规范:

对于只在一个界面使用的资源,就该以该界面的名称作为前缀
对于只在一个模块下多个页面使用的资源,就该以该模块作为前缀
对于在各个模块,各个界面都有可能使用到的资源,就该以common作为前缀
Java类中的孔家对象命名规范

控件类型缩写+控件的逻辑名称(首字母大写)
控件缩写如下图:

控件缩写
LayoutViewlv
RelativeViewrv
TextViewtv
Buttonbtn
ImageButtonimg
ImageViewiv
CheckBoxchk
RadioButtonrb
DatePickerdp
EditTextet
TimePickertp
toggleButtontb
ProgressBarpb
WebViewwb
RantingBarrb
Tabtab
ListViewlv
MapViewmv
Layout中的控件对象的命名规范:

和Java中相对应的控件名称保持一致。
string.xml中常量的命名规范:

用该常量的Activity名称作为前缀,控件名称作为后缀。如果string中的常量要在java代码中使用,可能出现在代码的任何地方,并可能涉及和公共模块和孔家相关,则以common_作为前缀
最好每一模块有一个对应的string.xml文件,命名规则如下:string_作为前缀,模块作为后缀
常量命名:

只能包含字母和下划线,字母全为大写,单词之间要用下划线隔开

Android编码规范:

要分门别类的存放各种类
要把控件声明在Activity级别
Layout中使用的常量要在string.xml中定义
Layout中所有控件的字体大小,都要定义在dimens.xml中
在Activity中定义新的周期,将onCreate分为:1.初始化变量,2.加载Layout布局文件和初始化控件,3.调用MobileAPI。实现单一原则
坚持使用一种JSON解析工具,fastJSON
页面之间传值,坚持使用Intent携带序列化实体数据进行传递,禁止使用全局变量进行传值
为控件添加事件,统一格式,不实现各种接口,只允许使用控件单独实现接口的方式
Activity中不要嵌套内部类,尽量独立出来,并且根据功能放到特定的包里
Adapter的编码规范有一下几点:
所有的Adapter,都要放在adapter这个包里
Adapter绑定的数据,一律使用ArrayList<自定义序列化实体>
在Adapter中创建适合列表的ViewHolder实体类,并且该类统一命名为ViewHolder
实体类不要再不同的模块间共享,但是可以再同一个模块下的不同界面间共享。
为了节省内存,使用ArrayList<自定义实体类> 而不是HashMap
图片的处理统一使用ImageLoader或者Fresco来进行异步加载
简单的配置信息,比如页面的各种开关都可以保存在SharedPreferences中,对于复杂的对象,比如全局变量或者城市基础数据都要保存在本地文件中
尽量使用ApplicationContext代替context,否则可能会引起内存泄漏
数据类型转换一定要进行校验。
使用常量代替枚举

统一代码格式:

需要统一代码格式,不然在从版本控制器中拉代码的时候会出现很多错误。这个需要程序员们自己设置生成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 设计模式