遵守代码规范的好处:
1,风格的相似性,能够让开发者更迅速、更容易理解一些陌生的代码。
2,在规范的开发中,不但可以减少bug,也给解bug变得更加容易
3,提高代码的可读性,可读性高的代码维护的成本也就大大降低
下面总结一下常用的代码规范:
域变量命名规则:
Non-public, non-static field names startwith m.
Static field names start with s.
Other fields start with a lower caseletter.
Public static final fields (constants) areALL_CAPS_WITH_UNDERSCORES.:
注释:
不是一眼能看出修改意图的都应该添加注释,注释的开头建议使用第三人称动词
限制代码行的长度:
代码行的长度不要超过100字符。
eclipse中可以设置标准线,便于观察代码行的长度。
一个方法行数大于40就要考虑拆分它
缩进规则:
> 规范要求用space而不是tab,由于在不同的编辑器中tab被解释成不同的长度。
>eclipse中可以设置将tab转换成一定数量的space,一般是4个。
> 一行被压缩成多行,第二行开始都是缩进8个空格。
限制变量的作用域:
> 变量的作用域应该被限制到最小。
> 尽量不用全局变量。
> 将变量通过参数传给方法,比方法使用全局变量要好。
> 几乎所有的本地变量在声明的时候都应该初始化,如果没有足够的信息去初始化它,就 推迟本地变量的声明。
TODO 注释使用:
对待临时代码需要加上TODO注释,如果注释内容是指未来需要的改进,最好指定一个大概的时间范围。
// TODO: Remove this code after all productionmixers understand protocol V7
eclipsecode format 技巧:
在window->preferences->java->Code style->Formatter中导入android-formatting.xml,使用快捷键ctrl + shift +f 格式化代码。
在window->preferences->java->Code style->Organize Imports中导入android.importorder,使用快捷键ctrl + shift + O对import排序。
新增import语句统一写在miport末尾,便于版本升级。
提交代码规范
1. 提交代码过程,在git commit 和 git push间执行git pull --rebase
保持提交在最顶端,提交是一条线,不产生额外提交记录等
2. 因AP端采用了repo管理模式(git仓库集),更具模块化,所以规范化提交:
git commit时输入的提交信息规范:
gitcommit --signoff -a
bug_id / function_id bug_title / function_title KEY_WORD
空行
[bug_info / function_info]
修改的模块路径
例如: 添加Little star字体,涉及了三个模块
fuction 49, add Little star font.
framework/base
packages/apps/Settings
vendor/qcom/proprietary
3.修改代码的规范
/**--BEGIN 01 : name 20141117 ; Add _AUTO_SELECTION_LANGUAGE_ */
StringisAuto = SystemProperties.get("persist.sys.language.auto");
if(isAuto.equals("true") && entry.mMcc != 520) {
return "en";
}
/**--END 01 */
4.因不同编辑器Tab键空格数不一致,导致代码格式不一。只是建议。
设置方法:
A、SourceInsight3.5设置TAB键替换为空格的方法为:
Options->Document Options->勾选Expand tabs,并设置Tab witdh为4。
B、UltraEdit11.0设置TAB键替换为空格的方法为:
高级->配置->编辑->勾选“使用空格代替制表符”,并设置“制表符宽度值”为4,设置“缩进空格数”为4。
C、Eclipse设置TAB键替换为空格的方法为:
程序中不允许出现Tab符号,所有的Tab需用4个空格来代替,请用如下方法配置:
Window->Preferences->General->Editors->TextEditors->Insert spaces for tabs
XML文件的Tab格式也需要单独配置一下,用如下方法配置:
Window->Preferences->XML->XMLFiles->Editor