android开发命名规范

基本命名规范
  
类别
  
说明
例子
包名一律小写, 少用缩写和长名;采用以下规则:[com].[组织名].[项目名] 后面再跟后面为模块名或层级名称。
如:com.tuge.项目缩写.模块名 ? com. tuge.dzm.bookmark
  
如:com.tuge.项目缩写.层级名 ? com. tuge.dzm.activities
类或接口名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免用缩写词(除非该缩写词被更广泛使用,像URL,HTML)
如:
  
interface OnResultListener
  
class Result
方法
方法名是动词[名词]结构,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写;取值类可使用get前缀,设值类可使用set前缀,判断类可使用is(has)前缀。
如:
  
setSuccessful()
  
isSuccessful()
变量
只在代码块的开始处声明变量;
  
采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写;
  
变量名不应以下划线或美元符号开头;
  
尽量避免单个字符的变量名;
  
组件或部件变量使用其类型名或类型名缩写作其后缀。;
  
集合类型变量,例如数组和矢量,应采用复数命名或使用表示该集合的名词做后缀。
如:String bookName
成员变量
使用m开头,其它和变量的规则一致,
如:boolean mSuccessful
临时变量
临时变量通常被取名为i,j,k,m和n,它们一般用于整型;c,d,e,它们一般用于字符型。
如: for (int i=0;i<iLen;i++)
常量
全部采用大写,单词间用下划线隔开
Static final  String MSG_GATEWAY_NOT_RESPONSE;
2.3控件命名规范
  
类别
  
说明(前缀)
例子
LinearLayout
lay
layFriend
RelativeLayout
lay
layMsg
FrameLayout
lay
layCart
TableLayout
lay
layTab
Button
btn
btnHome
ImageButton
ibtn
ibtnPlay
TextView
tv
tvName
EditText
et
etName
ListView
lv
lvCart
ImageView
iv
ivHead
GridView
gv
gvPhoto
2.4资源文件命名规范
  
类别
  
说明
例子
layout 文件
必须以全部单词小写,单词间以下划线分割,使用名词或名词词组。用common前缀表示多模块共用布局,用inc前缀表示嵌入布局。采用以下规则:
  
模块名_逻辑名称
  
common_ 逻辑名称
  
inc_ 逻辑名称
friend.xml
  
friend_list_item.xml
  
friend_info.xml
  
inc_topbar.xml
  
inc_navbar.xml
  
common_face.xml
  
common_date.xml
drawable
全部单词小写,单词间以下划线分割。使用名词或名词词组,可加后缀_s表示小图 _b表示大图,逻辑名称可由多个单词加下划线组成,采用以下规则:
  
模块名_用途_逻辑名称
  
模块名_用途_颜色
  
用途_逻辑名称
  
用途_颜色
main_btn_home.png  按键
  
maket_divider_white.png 分割线
  
ic_edit.png 图标
  
bg_main.png 背景
  
btn_red.png 红色按键
  
btn_red_b.png 红色大按键
  
ic_head_s.png 小头像
  
bg_input.png  输入框背景
  
divider_white.png  白色分割线
anim
全部单词小写,单词间以下划线分割,采用以下规则:
  
模块名_逻辑名称
  
逻辑名称
refresh_progress.xml
  
market_cart_add.xml
  
market_cart_remove.xml
strings
strings 的name命名使用
  
Camel 命名法,采用以下规则:
  
模块名+逻辑名称
  
逻辑名称
mainMenuAbout 主菜单按键文字
  
friendTitle  好友模块标题栏
  
friendDialogDel  好友删除提示
  
loginCheckEmail  登录验证
  
dialogTitle 弹出框标题
  
buttonOk  确认键
  
loading  加载文字
  
appName
colors
colors 的name命名使用
  
Camel 命名法,采用以下规则:
  
模块名+逻辑名称
  
颜色
friendInfoBg
  
friendBg
  
transparent
  
gray
styles
colors 的name命名使用
  
Camel 命名法,采用以下规则:
  
模块名+逻辑名称
  
逻辑名称
MainTabBottom
  
BlueBigButton
  
GraySmallButton
  
FriendList
2.5注释
Java 程序有两类注释:实现注释(implementationcomments)和文档注释(document comments)。实现注释是使用/*...*/和//界定的注释。文档注释(被称为"doc comments")由/**...*/界定。文档注释可以通过JavaDoc工具转换成HTML 文件。
2.5.1文件注释
所有的源文件都应该在开头有一个注释,其中列出类名、版本信息、日期和版权声明。
如下:
/*
  *  文件名
  *  包含类名列表
  *  版本信息,版本号
  *  创建日期
  *  版权声明
*/
Eclipse 中的配置方式:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif
需要配置的注释格式如下:
/**
* @title:${file_name}
* TODO 包含类名列表
* Copyright (C) Shenzhen Futuo TechnologyCo.Ltd.All right reserved.
* @version :v1.0,${date}
*/
${filecomment}
${package_declaration}
${typecomment}
/**@name ${type_name}
* @description
* @author max
@DATE ${date}
*/
${type_declaration}
2.5.2类注释
每一个类都要包含如下格式的注释,以说明当前类的功能等。
/**
* @name 类名
* @author 原作者
*       @description实现的主要功能。
*       @date创建日期
*  修改者,修改日期,修改内容。
*/
Eclipse 中的配置方式:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif
2.5.3方法注释
每一个方法都要包含 如下格式的注释 包括当前方法的用途,当前方法参数的含义,当前方法返回值的内容和抛出异常的列表。
/**   
        *  方法的一句话概述
        *  方法详述(简单方法可不必详述)
        * @param s  说明参数含义
        * @return  说明返回值含义
        * @throws IOException  说明发生此异常的条件
        * @throws NullPointerException  说明发生此异常的条件
        */
2.5.4类成员变量和常量注释
成员变量和常量需要使用java doc形式的注释,以说明当前变量或常量的含义
/**
*XXXX含义
*/
2.5.5其他注释
方法内部的注释 如果需要多行 使用/*…… */形式,如果为单行是用//……形式的注释。不要在方法内部使用 java doc 形式的注释“/**……**/”,简单的区分方法是,java doc形式的注释在 eclipse中为蓝色,普通注释为绿色。
2.5.6 XML注释
如果当前layout 或资源需要被多处调用,或为公共使用的layout(若common_list_item),则需要在xml写明注释。要求注释清晰易懂。
2.6编程规范2.6.1 方法
?     一个方法尽量不要超过30行,如果方法太长,说明当前方法业务逻辑已经非常复杂,那么就需要进行方法拆分,保证每个方法只作一件事。
2.5.2 参数和返回值
?     一个方法的参数尽可能的不要超过4个!
?     如果一个方法返回的是一个错误码,请使用异常!!
尽可能不要使用null,替代为异常或者使用空变量如返回List则可以使用Collections.emptyList()
2.5.3 神秘的数
代码中不允许出现单独的数字,字符!如果需要使用数字或字符,则将它们按照含义封装为静态常量!(for语句中除外)
2.5.4 控制语句
判断中如有常量,则应将常量置于判断式的右侧。如:
if ( true == isAdmin())...
尽量不使用三目条件的嵌套。
所有if 语句必须用{}包括起来,即便是只有一句:
if (true){
//do something......
}
if (true)
i = 0; // 不要使用这种
      
        对于循环:
       // 不推荐方式____________________________________________
while(index < products.getCount()){
       // 每此都会执行一次getCount()方法,
       // 若此方法耗时则会影响执行效率
       // 而且可能带来同步问题,若有同步需求,请使用同步块或同步方法
}
// 推荐方式______________________________________________
// 将操作结构保存在临时变量里,减少方法调用次数
final int count = products.getCount();
while(index < count){
}

猜你喜欢

转载自blog.csdn.net/ElevenDGQ/article/details/51506644