为了项目的日后的便捷开发与维护,特作出以下项目规范说明,务必按照如下项目规范实施
书写规范
使用AndroidStudio快捷键调整代码
命名规范
1. 类和接口命名
- activity类,命名以Activity为后缀,如:LoginActivity
- fragment类,命名以Fragment为后缀,如:ShareDialogFragment
- service类,命名以Service为后缀,如:DownloadService
- adapter类,命名以Adapter为后缀,如:CouponListAdapter
- 工具类,命名以Util为后缀,如:EncryptUtil
- 模型类,命名以BO为后缀,如:CouponBO
- 接口实现类,命名以Impl为后缀,如:ApiImpl
2.方法命名
- 初始化相关方法,使用init为前缀标识,例如:initView();
- 方法返回值为boolean型的请使用is或check为前缀标识,例如:is
- 返回某个值的方法,使用get为前缀标识,例如:getName()
- 对数据进行处理的方法,尽量使用handle为前缀标识,例如:handle
- 弹出提示框和提示信息,使用display/show为前缀标识,例如:displayWatiDialog()
- 与保存数据相关的,使用save为前缀标识,例如:saveName()
- 对数据重组的,使用reset前缀标识,例如:resetName()
- 清除数据相关的,使用clear/remove前缀表示,例如:clearSession()
- 绘制数据或效果相关的,使用draw前缀标识,例如:drawMap()
3.控件缩写
空间名 | 缩写 |
---|---|
LinearLayout | ll |
RelativeLayout | rl |
FrameLayout | fl |
TableLayout | tl |
Button | btn |
ImageButton | ibtn |
TextView | tv |
EditText | et |
ListView | lv |
ImageView | iv |
GridView | gv |
4.资源文件名
资源文件名称 | 缩写 |
---|---|
icon | ic(主要用在app的图标) |
color | cl(主要用于颜色值) |
divider | |
selector | |
average | avg |
background | bg(主要用于布局和子布局的背景) |
buffer | buf |
control | ctrl |
delete | del |
document | doc |
error | err |
escape | esc |
increment | inc |
information | info |
initial | init |
image | img |
Internationalization | I18N |
length | len |
library | lib |
message | msg |
password | pwd |
position | pos |
server | srv |
string | str |
temp | tmp |
window | win |
5.常量命名
public final static int PAGE_SIZE = 20;
6. 变量命名
{范围描述+}意义描述+类型描述的组合,用驼峰式,首字母小写。
private TextView headerTitleTv; // 标题栏的标题
private Button loginBtn; // 登录按钮
private CouponBO couponBO; // 券实例
7. 控件id命名
{范围_}意义空间缩写,范围可选,只在有明确定义的范围内才需要加上。
<!-- 这是标题栏的标题 -->
<TextView
android:id="@+id/header_title_tv"
... />
<!-- 这是登录按钮 -->
<Button
android:id="@+id/login_btn"
... />
8.布局文件命名
组件名_模块用途,范围可选,只在有明确定义的范围内才需要加上。
以下为几种常用的组件类型命名:
- Activity,例如:activity_me_show_info
- Dialog,例如:dialog_prograss
- Item,例如:item_pudocts
9. strings的命名
类型{范围}功能,范围可选。
以下为几种常用的命名:
- 页面标题,命名格式为:title_页面
- 按钮文字,命名格式为:btn_按钮事件
- 标签文字,命名格式为:label_标签文字
- 选项卡文字,命名格式为:tab_选项卡文字
- 消息框文字,命名格式为:toast_消息
- 编辑框的提示文字,命名格式为:hint_提示信息
- 图片的描述文字,命名格式为:desc_图片文字
- 对话框的文字,命名格式为:dialog_文字
- menu的item文字,命名格式为:action_文字
10. colors的命名
前缀{控件}{范围}{_后缀},控件、范围、后缀可选,但控件和范围至少要有一个。
- 背景颜色,添加bg前缀
- 文本颜色,添加text前缀
- 分割线颜色,添加div前缀
- 区分状态时,默认状态的颜色,添加normal后缀
- 区分状态时,按下时的颜色,添加pressed后缀
- 区分状态时,选中时的颜色,添加selected后缀
- 区分状态时,不可用时的颜色,添加disable后缀
11. drawable的命名
前缀{控件}{范围}{_后缀},控件、范围、后缀可选,但控件和范围至少要有一个。
- 图标类,添加ic前缀
- 背景类,添加bg前缀
- 分隔类,添加div前缀
- 默认类,添加def前缀
- 区分状态时,默认状态,添加normal后缀
- 区分状态时,按下时的状态,添加pressed后缀
- 区分状态时,选中时的状态,添加selected后缀
- 区分状态时,不可用时的状态,添加disable后缀
- 多种状态的,添加selector后缀(一般为ListView的selector或按钮的selector)
12. 动画文件命名
动画类型_动画方向。
- fade_in,淡入
- fade_out,淡出
- push_down_in,从下方推入
- push_down_out,从下方推出
- slide_in_from_top,从头部滑动进入
- zoom_enter,变形进入
- shrink_to_middle,中间缩小
注释规范
1. 文件头注释
文件顶部统一添加版权声明,声明的格式如下:
/**
* Copyright (c) 2015. Administrator Inc. All rights reserved.
*/
2. 类和接口注释
类和接口统一添加javadoc注释,格式如下:
/**
* 类或接口的描述信息
*
* @author ${USER}
* @date ${DATE}
*/
3. 方法注释
下面几种方法,都必须添加javadoc注释,说明该方法的用途和参数说明,以及返回值的说明。
- 接口中定义的所有方法
- 抽象类中自定义的抽象方法
- 抽象父类的自定义公用方法
- 工具类的公用方法
/**
* 登录
*
* @param loginName 登录名
* @param password 密码
* @param listener 回调监听器
*/
public void login(String loginName, String password, ActionCallbackListener<Void> listener);
4. 变量和常量注释
下面几种情况下的常量和变量,都要添加注释说明,优先采用右侧//来注释,若注释说明太长则在上方添加注释。
- 接口中定义的所有常量
- 公有类的公有常量
- 枚举类定义的所有枚举常量
- 实体类的所有属性变量
public static final int TYPE_CASH = 1; // 现金券
public static final int TYPE_DEBIT = 2; // 抵扣券
public static final int TYPE_DISCOUNT = 3; // 折扣券
private int id; // 券id
private String name; // 券名称
private String introduce; // 券简介