前言
通过建立代码编写规范,形成Android编码约定,提高程序的可靠性、可读性、可修改性、可维护性、一致性,保证程序代码的质量,继承软件开发成果,充分利用资源。提高程序的可继承性,使开发人员之间的工作成果可以共享。
软件编码要遵循以下原则:
- 遵循开发流程,在产品和设计的指导下进行代码编写。
- 代码的编写以实现设计的功能和性能为目标,要求正确完成设计要求的功能,达到设计的性能。
- 程序具有良好的程序结构,提高程序的封装性好,减低程序的耦合程度。
- 程序可读性强,易于理解;方便调试和测试,可测试性好。
- 易于使用和维护;良好的修改性、扩充性;可重用性强/移植性好。
- 占用资源少,以低代价完成任务。
- 在不降低程序的可读性的情况下,尽量提高代码的执行效率。
一. 命名规范
不要使用汉语拼音简写。用准确的英文
- 包名
采用反域名命名规则,
<font color = "#ff0000">全部使用小写字母。</font>一级包名为com,二级包名为xxx(可以是公司域名或者个人命名),三级包名根据应用进行命名,四级包名为模块名或层级名。
- 类名&接口名
采用
<font color = "#ff0000">大驼峰</font>命名法,尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称包含单词缩写,则单词缩写的每个字母均应大写。
- 方法名
动词或动名词,采用
<font color = "#ff0000">小驼峰</font>命名法,eg:onCreate(),run();
- (常量) static final字段
字母全部大写,单词间以下划线分割
- 全局/全局变量名
有两套标准 java(xXXXX) google(mXXXX).我们采用java的标准,
<font color = "#ff0000">小驼峰</font>命名法
- 布局文件名
contentview命名 功能模块.xml.
adapter的子布局:功能模块_item.xml
...
- 资源文件名
除通用的资源外,保持和功能模块一致,自定义的shape等以*.shape.xml
- 布局文件中view的id名。控件简写变量名,textview tv button bt_(或者btn_) LinearLayout ll_ 等。举例如下:
<TextView
android:id="@+id/tv_handed"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
二. 代码规范
- 统一 code style
采用androidstudio默认即可,检查下不同系统下是否一致
- 编码方式 "UTF-8"
- 使用TODO注释
对那些临时性的、短期的、够棒但不完美的代码,请使用TODO注释。
TODO注释应该包含全部大写的TODO,后跟一个冒号:
// TODO: Remove this code after the UrlTable2 has been checked in.
和
// TODO: Change this to use a flag instead of a constant.
如果TODO注释是“将来要做某事”的格式,则请确保包含一个很明确的日期(“在2005年11月会修正”),或是一个很明确的事件(“在所有代码整合人员理解了V7协议之后删除本段代码”)。
- 先写注释再写代码
三. 布局规范
- 单位使用规范
控件长宽采用dp作为统一的衡量单位,字体使用sp作为统一衡量单位。 - 切图命名规范
具体命名规范,请看《Android切图规范及命名规则》文档。 - 资源文件夹res下的规范
在res资源目录下,应该至少包含下面的目录结构
其中,各个版本的drawable中存放的内容如下
Ø drawable 存放使用xml文件实现的各种selector按下效果
Ø drawable-hdpi 存放480800,480854像素的图片
Ø drawable-ldpi 存放240320像素的图片,现在基本废弃
Ø drawable-mdpi 存放320480像素的图片,现在基本废弃
Ø drawable-xhdpi 存放720*1280像素及以上的图片
Ø drawable-xxhdpi 暂时只放144px的图标