欢迎来到天天文库
浏览记录
ID:42594634
大小:30.97 KB
页数:18页
时间:2019-09-18
《Android开发编码规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android开发编码规范第一章绪论1.1概述 编码规范对于程序员而言尤为重要,有以下几个原因: 【原因1】一个软件的生命周期中,80%的花费在于维护。 【原因2】几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。 【原因3】编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。 ……等等很多原因,不一一列举。1.2目的 统一规范Eclipse/studio编辑环境下android的编码风格和标准。此为最基本的编码要求规范,包括文件、注释、命名规范,必须完全遵守。1.3适用范围 适用于安卓手机APP项目
2、。第二章命名注释规范2.1命名规范2.1.1包命名 命名规则:包名采用域后缀倒置的加上自定义的包名,采用小写字母,都应该以com.*(公司名)开头(不包括一些特殊原因)。在部门内部应该规划好包名的范围,防止产生冲突。部门内部产品使用部门的名称加上模块名称。产品线的产品使用产品的名称加上模块的名称。 说明:除特殊原因包结构都必须以com.*开头,已有项目包结构不做调整. 格式: com.公司名.产品名.模块名称2.1.2类和接口命名 规则一:命名必须使用驼峰规则,即每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法,类名和接口
3、使用类意义完整的英文描述,不允许出现无意义的单词,如(FirstActivity),应该为(LauncherActivity)。 示例:ChatActivity,LogManager,LogConfig 规则二:常用组件类的命名以组件名加上组件类型名结尾。 示例: Application类型的,命名以Application结尾——MTApplication Activity类型的,命名以Activity结尾——LoginActivity fragment类型的,建议命名以fragment结尾——CourseFragment adapt
4、er类型的,建议命名以adapter结尾——ContactDetailAdapter bean类型的,请求体,建议命名以Req结尾-GetMMSListReq,消息返回提,建议以Resp结尾-BackupProgressResp。2.1.3方法命名 规则一:方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写,并且方法名使用类意义完整的英文描述。 示例: publicvoidaddNewOrder(); 规则二:方法中,存取属性的方法采用set和get方法,动作方法采用动词和动宾结构,类的布尔型的判断方
5、法一般要求方法名使用单词is或has做前缀。格式: set+属性名() get+非布尔属性名() 动词() 动词+宾语() is+布尔属性名() 示例: publicvoidsetVisible(boolean); publicStringgetType(); publicvoidshow(); publicvoidaddKeyListener(Listener); publicbooleanisFinished(); 规则三:如果函数名超过15个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式缩写函数名。 示例: ge
6、tCustomerInformation()改为getCustomerInfo()2.1.4属性名 规则一:属性名使用意义完整的英文描述,变量名应简短且富于描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。尽量避免单个字符的变量名,除非是一次性的临时变量。 示例: privatecustomerName; privateorderNumber; privatesmpSession; 规则二:含有集合意义的属性命名,尽量包含其复数的意义。 示例: customers,orderItems2.1.5常量名 规则
7、一:常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用staticfinal修饰。 示例: publicstaticfinalintMAX_VALUE=1000; publicstaticfinalStringDEFAULT_START_DATE=“2001-12-08”;2.1.6layout命名 规则一:layoutxml的命名必须以全部单词小写,单词间以下划线分割,并且使用名词或名词词组,即使用模块名_功能名称来命名。 示例: person_login.xml2.1.7id命名 规则一:layout中所使用的id必
8、须以全部单词小写,单词间以下划线分割,并且使用名词或名词词组,并且要求能够通过id直接理解当前组件要实现的功能。 示例: @+id/book_name_show @+id/book_name_edit2.1.8资源命名
此文档下载收益归作者所有