一、命名规范
1、 包
采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名xxx(为个人或公司名称,可以简写),三级包名根据应用进行命名,四级包名utils或service等(模块名或层级名),根据实际情况也是可以用五级包名,六级包名。
utils
此包中包含:公共工具方法类,比如:LogUtil、TimeUitl、FileUtil等
adapter
此包中包含一些适配器的类,比如:CardAdapter、FloatWindowAdapter等
base
此包中包含:一些共同类的基类,比如:BaseActivity(所有的Activity类都继承这个类)、BaseFragment(所有的Fragment都继承这个类)
bean
此包中包含:一些属性对象类,比如:StudentBean、UserBean等
config
此包中包含:最顶级的配置类,比如:MyApplication(继承了Application)
httpservice
此包中包含:Http数据的请求接口类,如:ILogin接口,IRegister,IUpdate等
interface
此包中包含:某个页面或对象的所用操作接口类,这个接口主要是定义这个对象的所有方法。如:IUser接口,IArticle接口,ITopic接口等
model
这是MVC或MVP框架设计中的M。此包中包含:某个页面或对象的所用操作类,这个类继承了上面定义的interface接口,重写并实现方法。如:UserModel,lLoginMode类
view
此包中包含:activity包。如MainActivity,HomeActivity.
fragment包。但是Fragment一般都是多个存在的,所以fragment包下一般还有六级包名,表示里面是哪个页面的Fragment对象。
weight
此包中包含:自定义View或自定义对话框等视图类。如:CursroDialog类,ScrollListView类等
db
此包中包含:数据库操作类
service
此包中包含:Service服务类
broadcast
此包中包含:Broadcast广播接收者类
provider
此包中包含:Provider内容提供者类
2、 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。
如:public class MyFirstClass{}
3、 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。
如:int index=0;
public void toString(){}
isXX() checkXX()方法返回值为boolean型的请使用is或check为前缀标识
getXX(),返回某个值的方法,使用get为前缀标识
4、 常量名全部大写
private static final String DEFAULT_VALUE = null;
6、所有命名规则必须遵循以下规则:
1)、名称只能由字母、数字、下划线、$符号组成
2)、不能以数字开头
3)、名称不能使用JAVA中的关键字。
4)、坚决不允许出现中文及拼音命名。
5)、程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。
下面为常见的英文单词缩写:
名称缩写
icon ic (主要用在app的图标)
color cl(主要用于颜色值)
divider di(主要用于分隔线,不仅包括Listview中的divider,还包括普通布局中的线)
selector sl(主要用于某一view多种状态,不仅包括Listview中的selector,还包括按钮的selector)sel_ok 选择图标使用sel_功能_说明
average avg
background bg(主要用于布局和子布局的背景)
bg_head 背景图片使用bg_功能_说明
buffer buf
control ctrl
delete del
document doc
dialog dlg_hint.xml
error err
escape esc
increment inc
infomation info
initial init
image img
Internationalization I18N
length len
library lib
message msg
password pwd
position pos
popupWindow ppw_info.xml
server srv
string str
temp tmp
window wnd(win)
button btn_xx
btn_xx_normal 按钮图片使用btn_正常情况效果
btn_xx_press 按钮图片使用btn_点击时候效果
LayoutView lv
RelativeView rv
TextView tv
Button btn
ImageButton imgBtn
ImageView imgView 或 iv
EditText edtTxt
Tab tab
Spinner spn
Chronometer cmt
ScollView sclVi
TextSwitch txtSwt
ImageSwitch imgSwt
listView lVi 或则lv
ExpandableList epdLt
MapView mapVi
二、注释规范
1、类注释
在每个类前面必须加上类注释,注释模板如下:
/**
* Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.
* FileName: Test.java
* 类的详细说明
*
* @author 类创建者姓名
* @Date 创建日期
* @version 1.00
*/
2、属性注释
在每个属性前面必须加上属性注释,注释模板如下:
/** 提示信息 */
private String strMsg = null;
3、方法注释
在每个方法前面必须加上方法注释,注释模板如下:
/**
* 类方法的详细使用说明
*
* @param 参数1 参数1的使用说明
* @return 返回结果的说明
* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
*/
4、构造方法注释
在每个构造方法前面必须加上注释,注释模板如下:
/**
* 构造方法的详细使用说明
*
* @param 参数1 参数1的使用说明
* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
*/
5、方法内部注释
在方法内部使用单行或者多行注释,该注释根据实际情况添加。
如://背景颜色
Color bgColor = Color.RED