android 编码规范
来源:互联网 发布:南朝 知乎 编辑:程序博客网 时间:2024/06/14 13:04
Android编码规范
Author Gjson
一、命名规范
1. 包命名
2. 类和接口命名
3. 方法的命名
4. 变量的命名
5. 常量的命名
6. 异常的命名
7. 布局的命名
8. ID的命名
9. 图片的命名
10. 其他资源命名
二、注释规范
1. 文件注释
2. 类注释
3. 方法注释
4. 域变量和常量注释
5. 其他注释
6. XML注释
三、代码规范
1. 缩进
2. 空行
3.方法
4.参数和返回值
5. 除注释与资源文件外尽量减少代码中文的使用。
6. 尽量避免警告错误。
一、命名规范
1. 包命名
包名由小写的字母组成,默认以com.lohas.android开头,然后接上根据功能划分的模块名。
com.lohas.android.activity
com.lohas.android.common.widget
2. 类和接口命名
名称的首字母需要大写,如果由多个单词组成,那么每个单词的首字母需要大写,其他字母小写。
class LoginActivity
interface OnClickListener
3. 方法的命名
采用驼峰命名法来命名。
public String getName()
public boolean isExist()
4. 变量的命名
采用驼峰命名法命名。
非公共的、非静态的域变量用m前缀
静态域变量用s前缀
集合类型的变量使用复数形式,若多种集合类型的变量存储的是相同类型的对象,除了根据功能区分,也可以简单通过集合类型来区分
public classUser {
private int mId;
private static User sUser;
String mName;
protected int mAge;
public int level;
public List<Company> companies;
public List<Score> listScores;
public Score[] arrScores;
}
5. 常量的命名
常量需要声明为final static形式,组成名称的单词必须全部大写,单词之间用下划线隔开。
private static final int FADE_IN_TIME =200;
6. 异常的命名
名称必须以Exception结尾。
NullPointerException
7. 布局的命名
name是模块的名称或功能的描述,单词必须全部小写,单词之间用下划线隔开。
类型
模板
事例
Activity
activity_name.xml
activity_main.xml
Tab
tab_name.xml
tab_home.xml
Dialog
dialog_name.xml
dialog_login.xml
ListItem
item_name.xml
item_contact.xml
8. ID的命名
组成名称的单词必须全部小写,单词之间用下划线隔开,名称不需要复杂的层级定位,只需要准确描述所代表控件的功能作用即可,通常我们在名称前使用控件类型的缩写前缀来避免重复起名的麻烦。
name是模块的名称或功能的描述。
类型
模板
事例
TextView
tv_name
tv_title
EditText
et_name
et_mail
RelativeLayout
rlyt_name
rlyt_login
LinearLayout
llyt_name
llyt_login
控件类型
文件中缩写
Button
Btn
ImageButton
IBtn
RadioButton
RBtn
CheckBox
Chk
TextView
tTv
EditText
Et
ImageView
IV
ListView
Lv
ProgressBar
Pbar
ScrollView
Sclv
RelativeLayout
Rlyt
LinearLayout
Llyt
FrameLayout
Flyt
9. 图片的命名
name是模块的名称或功能的描述。
图片名称一般由模块名称/功能描述+后缀组成,后缀是可选的。
前缀
描述
示例
ic_
图标
ic_launcher.png
bg_
背景图片
bg_title.png
后缀
描述
示例
无
普通状态
login.png
_press
按压状态
login_press.png
_check
选中状态
login_check.png
10. 其他资源命名
遵循见名知意的原则,组成名称的单词必须全部小写,单词之间用下划线隔开。
<stringname="welcome">欢迎</string>
<colorname=“white">#FFFFFF</color>
二、注释规范
养成良好的注释习惯,对提升自己的编程能力和团队合作能力有很大的益处。
1. 文件注释
源文件的开头需要注释说明当前的文件信息,包括文件名、作者、版本信息、日期、修改记录等。
/*
* -----------------------------------------------------------------
* Copyright(C) 2007-2014, by HuaShengRun, Shenzhen, All rights reserved.
*-----------------------------------------------------------------
*
* File:RequestManager.java
* Author: zhuangyalei
* Version: 1.0
* Create:2014-8-10
*
* Changes(from 2014-8-10)
*-----------------------------------------------------------------
* 2014-8-10 : 创建 RequestManager.java(JiongBull);
* -----------------------------------------------------------------
*/
2. 类注释
在类的开头添加类信息的描述.
/**
* 管理Volley的Request, 使用之前需要调用init()进行初始化.
*/
public classRequestManager {
}
3. 方法注释
一般情况下需要为每个方法添加注释,包括方法的功能描述,参数信息、返回值、异常信息等,有些约定俗成的方法可以不需要添加注释,请参考约定俗成的说明。
/**
* 输出日志.
*
* @param contextContext
* @param logLevel日志等级
* @param tag 标签
* @param content 输出内容
* @paramthrowable 异常信息, 若没有异常可为空
*/
private staticvoid trace(final Context context, final int logLevel, final String tag, finalString content, final Throwable throwable) {
...
}
4. 域变量和常量注释
/**
* 日志的扩展名.
*/
public staticfinal String LOG_EXTENSION = ".log";
/**
* 网络请求队列.
*/
privateRequestQueue mRequestQueue;
5. 其他注释
单行注释
view.setImageResource(defaultImageResId);// 无图片显示默认图片
区块注释
/* 网络图片添加渐变动画 */
Resourcesresource = mContext.getResources();
finalTransitionDrawable transitionDrawable =
newTransitionDrawable(new Drawable[] {
newColorDrawable(android.R.color.transparent),
newBitmapDrawable(resource, bmpResponse)
});
view.setBackgroundResource(defaultImageResId);
view.setImageDrawable(transitionDrawable);
transitionDrawable.startTransition(RequestManager.FADE_IN_TIME);
6. XML注释
规约:如果当前layout 或资源需要被多处调用,或为公共使用的layout(若list_item),则需要在xml写明注释。要求注释清晰易懂
<!-- Baseapplication theme. -->
<stylename="AppTheme"parent="android:Theme.Holo.Light.NoActionBar">
<!--Customize your theme here. -->
</style>
三、代码规范
1. 缩进
规约:不允许使用Tab进行缩进,使用空格进行缩进,推荐缩进为2空格。
2. 空行 空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用空行:
a.一个源文件的两个片段(section)之间 ;
b.类声明和接口声明之间 ;
c.两个方法之间 ;
d.方法内的局部变量和方法的第一条语句之间;
e.一个方法内的两个逻辑段之间,用以提高可读性 ;
规约:通常在变量声明区域之后要用空行分隔,常量声明区域之后要有空行分隔,方法声明之前要有空行分隔
3.方法
一个方法尽量不要超过15行,如果方法太长,说明当前方法业务逻辑已经非常复杂,那么就需要进行方法拆分,保证每个方法只作一件事。
4.参数和返回值
a.一个方法的参数尽可能的不要超过4个!
b. 尽可能不要使用null,替代为异常或者使用空变量
5.除注释与资源文件外尽量减少代码中文的使用。
6.尽量避免警告错误。
- android 编码规范,命名规范
- android编码规范
- Java/Android编码规范
- Android编码规范
- Android 编码规范
- Android编码规范
- Android编程编码规范
- Android 开发编码规范
- Android编码规范
- Android编码规范
- Android编码规范
- Android开发编码规范
- Android 编码规范
- Android编码规范
- Android编码规范
- 分享 android 编码规范
- Android编码规范
- Android编码规范
- 计算机网络学习笔记之<不同网络的连接>
- ubuntu15.04下eclipse生成java文档注释及乱码问题解决
- MyBatis的批量新增
- 设计模式_责任链模式
- java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPac
- android 编码规范
- iOS中id与NSObject* 和id<NSObject>的区别
- 持续集成jenkins部署
- Java中对象数组的创建于使用
- iOS学习(一)@property 修饰符
- Atom下 Emmet 插件使用的简单指南
- DFS poj2488 A Knight's Journey
- GRE写作必备句型
- 记录下今天调试USB读取FIFO函数遇到的问题