Android开发之命名规则
1、不要使用拼音命名
名称应简洁而富于描述,使用完整单词,避免使用缩写(除非该缩写被更广泛使用,例如URL、HTML)
2、包命名
包名由小写的字母组成,默认以com.xin126.android.betterus开头,然后接上根据功能划分的模块名。
com.xin126.android.betterus.ui
com.xin126.android.betterus.ui.widget
3、类和接口命名
名称的首字母需要大写,如果由多个单词组成,那么每个单词的首字母需要大写,其他字母小写。
class LoginActivity
interface OnClickListener
4、方法的命名
public String getName()
public boolean isExist()
5. 变量的命名
非公共的、非静态的域变量用m前缀
静态域变量用s前缀
集合类型的变量使用复数形式,若多种集合类型的变量存储的是相同类型的对象,除了根据功能区分,也可以简单通过集合类型来区分
public class User {
private int mId;
private static User sUser;
String mName;
protected int mAge;
public int level;
public List companies;
public List listScores;
public Score[] arrScores;
}
6、常量的命名
常量需要声明为final static形式,组成名称的单词必须全部大写,单词之间用下划线隔开。
private static final int FADE_IN_TIME = 200;
7、异常的命名
名称必须以Exception结尾。
NullPointerException
8、布局的命名
name是模块的名称或功能的描述,单词必须全部小写,单词之间用下划线隔开。
9、ID的命名
组成名称的单词必须全部小写,单词之间用下划线隔开,名称不需要复杂的层级定位,只需要准确描述所代表控件的功能作用即可,通常我们在名称前使用控件类型的缩写前缀来避免重复起名的麻烦。
name是模块的名称或功能的描述。
控件类型缩写对照表
10、图片的命名
name是模块的名称或功能的描述。
图片名称一般由模块名称/功能描述 + 后缀组成,后缀是可选的。
11. 其他资源命名
遵循见名知意的原则,组成名称的单词必须全部小写,单词之间用下划线隔开。
Android开发之注释的书写
养成良好的注释习惯,对提升自己的编程能力和团队合作能力有很大的益处。
1. 文件注释
源文件的开头需要注释说明当前的文件信息,包括文件名、作者、版本信息、日期、修改记录等。
/*
* -----------------------------------------------------------------
* Copyright (C) 2007-2014, by www.xin126.cn, Shenzhen, All rights reserved.
* -----------------------------------------------------------------
*
* File: RequestManager.java
* Author: JiongBull
* Version: 1.0
* Create: 2014-8-10
*
* Changes (from 2014-8-10)
* -----------------------------------------------------------------
* 2014-8-10 : 创建 RequestManager.java (JiongBull);
* -----------------------------------------------------------------
*/
2. 类注释
在类的开头添加类信息的描述.
/**
* 管理Volley的Request, 使用之前需要调用init()进行初始化.
*/
public class RequestManager {
}
3. 方法注释
一般情况下需要为每个方法添加注释,包括方法的功能描述,参数信息、返回值、异常信息等,有些约定俗成的方法可以不需要添加注释,请参考约定俗成的说明。
/**
* 输出日志.
*
* @param context Context
* @param logLevel 日志等级
* @param tag 标签
* @param content 输出内容
* @param throwable 异常信息, 若没有异常可为空
*/
private static void trace(final Context context, final int logLevel, final String tag, final String content, final Throwable throwable) {
...
}
4. 域变量和常量注释
/**
* 日志的扩展名.
*/
public static final String LOG_EXTENSION = ".log";
/**
* 网络请求队列.
*/
private RequestQueue mRequestQueue;
5. 其他注释
单行注释
view.setImageResource(defaultImageResId); // 无图片显示默认图片
区块注释
/* 网络图片添加渐变动画 */
Resources resource = mContext.getResources();
final TransitionDrawable transitionDrawable =
new TransitionDrawable(new Drawable[] {
new ColorDrawable(android.R.color.transparent),
new BitmapDrawable(resource, bmpResponse)
});
view.setBackgroundResource(defaultImageResId);
view.setImageDrawable(transitionDrawable);
transitionDrawable.startTransition(RequestManager.FADE_IN_TIME);
6. XML注释
约定俗成
1. get / set 方法的注释
通过IDE工具批量生成域变量的 get / set 方法可以不用注释。
2. 第三方库生成代码的注释
第三方库生成的代码可以不用注释,例如greenDao生成的代码。
3. 通用类的注释
通用类的公共方法应全部添加注释。
4. 一般情况下的注释
例如在activity、service等文件中,只需对关键的类变量进行注释,方法建议全部添加注释。
Android开发代码编写规范其他注意事项
1、代码中不要出现中文标点字符,例如:‘,’、‘:’
2、注释中可以书写中文标点字符,便于阅读
3、注释遵循英文写作习惯,英文标点符号后空一格,避免句子紧凑
4、颜色色值的字母必须全部大写