收藏 分享(赏)

android代码规范.doc

上传人:HR专家 文档编号:11399602 上传时间:2020-04-16 格式:DOC 页数:9 大小:29.45KB
下载 相关 举报
android代码规范.doc_第1页
第1页 / 共9页
android代码规范.doc_第2页
第2页 / 共9页
android代码规范.doc_第3页
第3页 / 共9页
android代码规范.doc_第4页
第4页 / 共9页
android代码规范.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、Android开发代码规范修订记录版本修订日期修订人审核人修订内容V0.12015-06-26创建V0.22015-6-26修改目录命名3(1)包命名3(2)类和接口命名4(3)方法命名5(4)常量命名5(5)变量命名5(6)Layout命名6(7)Id命名6(8)资源命名6注释7(1)使用TODO注释7(2)类注释7(3)域变量和常量注释7(4)单行注释7(5)XML注释8其他8命名(1)包命名命名规则:一个唯一包名的前缀总是全部小写的ASCII 字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范

2、可能以特定目录名的组成来区分部门 (department) ,项目(project),机器(machine),或注册名(login names)。如:com.zoe.shortcake_sf_patient包命名必须以com.zoe.开始,后面跟有项目名称(或者缩写),再后面为模块名或层级名称。项目缩写.模块名 com.zoe.shortcake_sf_patient.adapter项目缩写.层级名 com.zoe.shortcake_sf_patient.ui包名此包中包含com.xx.应用名称缩写.activity页面用到的Activity类com.xx.应用名称缩写.base页面中每个A

3、ctivity类共享的可以写成一个BaseActivity类 (基础共享的类)com.xx.应用名称缩写.adapter页面用到的Adapter类 (适配器的类)com.xx.应用名称缩写.util此包中包含:公共工具方法类(util模块名)com.xx.应用名称缩写.bean此包中包含:元素类com.xx.应用名称缩写.db数据库操作类com.xx.应用名称缩写.view自定义的View类等com.xx.应用名称缩写.serviceService服务com.xx.应用名称缩写.broadcastBroadcast服务(2)类和接口命名命名规则:使用驼峰规则,每个单词的首字母大写。尽量使你的类

4、名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像 URL,HTML) 接口大小写规则与类名相似,常以able、ible、er 等结尾如:interfaceRunnable;interfaceAccessible类名必须使用驼峰规则,即首字母必须大写,如果为词组,则每个单词的首字母也必须要大写,类名必须使用名词,或名词词组。要求类名简单,不允许出现无意义的单词(如 class XXXActivity)。如:class BookMarkAdd 正确如:class AddBookReadPlanActivity错误! 应为 class BookReadPlanAdd类描述例如

5、activity 类Activity为后缀标识欢迎页面类WelcomeActivityAdapter类Adapte 为后缀标识时间详情TimeDetailAdapterService类以Service为后缀标识时间服务TimeServiceBroadcastReceive类以Broadcast为后缀标识时间通知TimeBroadcast直接写的共享基础类以Base开头BaseActivity,BaseFragment公共工具方法类以Util为后缀标识DateTimeUtil(3)方法命名命名规则:方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。如: run

6、(); runFast();类中常用方法的命名:1. 类的获取方法(一般具有返回值)一般要求在被访问的字段名前加上get,如getFirstName(),getLastName()。一般来说,get前缀方法返回的是单个值,find前缀的方法返回的是列表值。2. 类的设置方法(一般返回类型为void):被访问字段名的前面加上前缀 set,如setFirstName(),setLastName().3. 类的布尔型的判断方法一般要求方法名使用单词 is或has, can做前缀,如isPersistent(),isString()。或者使用具有逻辑意义的单词,例如equal 或equals。4. 类

7、的普通方法一般采用完整的英文描述说明成员方法功能,第一个单词尽可能采用动词,首字母小写,如openFile(),addCount()。5. 初始化相关方法,使用init为前缀标识,如初始化布局initView(),initData()。(4)常量命名命名规则:类常量的声明,应该全部大写,单词间用下划线隔开。如:static final int HTTP_RESULT_FAILURE = 4; (5)变量命名命名规则:第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避

8、免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为 i,j,k,m 和 n,它们一般用于整型;c,d,e,它们一般用于字符型。(全局变量在前加上小写m)如:String bookName;String mBookName;变量命名也必须使用驼峰规则,但是首字母必须小写,变量名尽可能的使用名词或名词词组。同样要求简单易懂,不允许出现无意义的单词。如:String bookName; 正确如:String bookNameString; 错误!(6)Layout命名layout xml 的命名必须以 全部单词小写,单词间以下划线分割,并且使用名词或名词词组,即使用 模块名_功能名称

9、来命名。如:healthy_pdm_peak_folw_values.xml(7)Id命名layout 中所使用的id必须以全部单词小写,单词间以下划线分割,并且使用名词或名词词组,并且要求能够通过id直接理解当前组件要实现的功能,即使用view模块名称_view的逻辑名称_缩写。如:TextView +id/peak_folw_values_tip_tv(8)资源命名layout中所使用的所有资源(如drawable,style等)命名必须以全部单词小写,单词间以下划线分割,并且尽可能的使用名词或名词组,即使用 模块名_用途 来命名。如果为公共资源,如分割线等,则直接用用途来命名如:menu

10、_icon_navigate.png分割线:line.png常见后缀意义normal代表普通状态hl代表高亮状态pressed代表按下状态selected代表其所占的view被选中unselected代表其所占的view没有被选中out代表退出的动画in代表进入的动画附:google java style英文版及中文翻译英文版:Google_Java_Style.pdf中文翻译:Google Java编程风格指南中文版注释(1)使用TODO注释对那些临时性的、短期的、够棒但不完美的代码,请使用TODO注释。TODO注释应该包含全部大写的TODO,后跟一个冒号。/ TODO: Remove th

11、is code after the UrlTable2 has been checked in. 和 / TODO: Change this to use a flag instead of a constant. 如果TODO注释是“将来要做某事”的格式,则请确保包含一个很明确的日期(“在20xx年x月会修正”),或是一个很明确的事件(“在所有代码整合人员理解了V7协议之后删除本段代码”)。(2)类注释/* * Description:描述 * author:作者 * time:创建时间 */(3)域变量和常量注释/* 日志的扩展名.*/public static final String

12、LOG_EXTENSION = .log;/* 网络请求队列.*/private RequestQueue mRequestQueue;(4)单行注释view.setImageResource(defaultImageResId); / 无图片显示默认图片(5)XML注释其他1.java代码中不出现中文,最多注释中可以出现中文2.styles.xml:将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中;3.使用layer-list和selector4.图片尽量分拆成多个可重用的图片5.服务端可以实现的,就不要放在客户端6.引用第三方库要慎重,避免应用

13、大容量的第三方库,导致客户端包非常大7.图片的.9处理8.使用静态变量方式实现界面间共享要慎重9.Log(系统名称 模块名称 接口名称,详细描述)10.不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致message.what冲突11.activity中在一个View.OnClickListener中处理所有的逻辑12.strings.xml中使用%1$s实现字符串的通配,通配符可以多个如:得分:%1$s赋值:textView.setText(getResources().getString(R.string.score, totalScore);13.在

14、使用单位时,如果没有特殊情况,一律采用dip和sp(字体大小单位)这两个单位。SDK里面并没有提供dip单位的api设置接口,而是提供了默认的px设置。如在下面代码中:LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); lp.setMargins(0, 0, 0, 0); /这里的单位为px单位14.使用第二种for循环for(int i = 0; i list.size(); i+)for(int i = 0, size = list.size(); i size; i+)9

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 规章制度

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报