编码规范对于程序员尤为重要,可以有效的帮助我们进行code review,提高代码的可读性,让其他人更快的理解代码。
一个软件的生命周期中,80%的花费都在于维护以及新功能的迭代,很多的时候都需要阅读代码,读自己以前写的代码,读别人写的代码,这样规范代码的优势就显示出来了,符合规范的代码可以让人简单快速的理解理解代码的意图。
代码规范先从命名规范开始,Android的命名规范主要涉及:
Java源代码
xml文件
图片等资源文件
类和接口
Activity类需要以Activity 作为后缀,例如MainActivity.
Fragment类需要以Fragment作为后缀,例如HomeFragment.
Service类需要以Service作为后缀,例如DownLoadService.
BroadcastReceiver类需要以Receiver作为后缀,例如PushReceiver.
ContentProvider类需要以Provider作为后缀,例如ContactProvider.
工具类需要以Utils作为后缀,例如NetworkUtil.
自定义的公共基础类需要以Base开头,例如BaseActivity.
接口一般使用I开头,采用大驼峰命名规则,比如:IPullToRefresh。
变量
Android变量分为三种:成员变量,静态变量和常量。
成员变量, 一般采用小驼峰命名规则,第一单词的首字母小写,其后的首字母大写。变量名一般不使用_和$开头。例如:private Intent cropIntent;
静态变量: 静态变量的命名一般采用小写的s开头,后面单词的命名规则和成员变量保持一致,例如:
private static MapsCacheStrings;
常量:命名规则一般是所有的单词都是大写,中间使用_(下划线)分割,例如:
private static final float SCALE_RATE = 1.25f;
Layout
Layout的命名规则需要和使用他们的组件对应,方便查找和维护,比如我们在创建一个用户信息的UserInfoActivity,对应的Layout的命名就应该是activity_user_info.xml。
对应Andorid组件的Layout命名规则:
Activity ->activity_user_info.xml
Fragment ->fragment_sign_up.xml
Dialog ->dialog_change_password.xml
AdapterView Item ->item_user.xml
Layout文件只是布局文件的一部分 ->partial_stats_bar.xml
string和color
项目中使用的string和color的值原则上都是必须放在strings.xml和colors.xml中,不要放在Java代码中,这样的好处是可复用,提高维护性,减少非必要的代码。
xml的资源命名,字母全部小写,多个单词之间使用_(下划线)分割.
比如:
example
建议color的命名中体现其ARGB值,比如:
#feb749
这样的写法对于代码提示更加的友好,有利于对照标注图查找颜色值。
##id命名
layout中使用的id的单词要全部小写,单词之间使用下划线分割,使用名词或者名词词组,应该通过id的命名可以直接理解当前的View要实现的功能.
例如:
@+id/tv_user_name_show
id命名的第一个单词使用View的缩写,如果View只是一个单词,缩写就是当前单词。一般Button的缩写为:btn。
Drawable命名
Drawable的命名规则根据使用的控件来命名,控件的缩写在前面,后面使用表示其功能的一个或者多个单词,中间使用使用_下划线分割。比如:
Action bar使用ab_,比如:ab_stacked.png
Button 使用btn_
Dialgo 使用dialog_
Divide 使用divider_
Icon 使用ic_
Menu 使用menu_
Notification使用notification_
Tabs 使用tab_
Drawable是有多个状态的,在命名中体现出状态的不同,比如:
Normal 对应_normal结尾,比如btn_order_normal.9.png
Pressed 对应_pressed结尾
Focused 对应_focused结尾
Disabled 对应_disabled结尾
Selected 对应_selected结尾