Android的一些命名规范

序言

刚上大学那会开始写程序的时候,变量名都是a,b,x,y这些,写着简单,可是看起来很累,尤为是别人看你的代码的时候,简直了。后来lz进了学校的ACM校队,在那学习期间,命名被强制改好了许多,开始使用英文单词做为变量名了,好比student,teacher,两个单词拼凑在一块儿时就用下划线,等等,这样看起来通熟易懂多了,也提升了代码的可读性。后来学习Java的时候,有了包名,类名,还有一系列的命名。布局

问题

为何咱们在写代码的时候须要正确的命名规范呢?
答:由于在真正的项目开发中咱们不是一我的在开发,而是一个团队,若是没有一个命名规范的话,那别人读你的代码就像是天书同样。
复制代码

下面咱们就来介绍一下Android的一些命名规范:学习

一、包名:采用反域名命名规则,所有使用小写字母。一级包名为com,二级包名为xx(能够是公司或则我的的随便),三级包名根据应用进行命名,四级包名为模块名或层级名

例如:com.公司名称简写.项目名称简写.模块名 动画

包名的一些规范

二、类名:采用大驼峰命名法,尽可能避免缩写,除非该缩写是众所周知的, 好比HTML,URL,若是类名称中包含单词缩写,则单词缩写的每一个字母均应大写。

例如:LoginActivity spa

类名的一些规范

三、接口:命名规则与类同样采用大驼峰命名法,多以able或ible结尾

例如:interface Runna ble;interface Accessible。3d

四、方法:动词或动名词,采用小驼峰命名法

例如:onCreate(),run() code

方法名的一些规范

五、变量:采用小驼峰命名法。类中控件名称必须与xml布局id保持一致。

用统一的量词经过在结尾处放置一个量词,就可建立更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。cdn

量词列表:量词后缀说明
First  一组变量中的第一个
Last   一组变量中的最后一个
Next   一组变量中的下一个变量
Prev   一组变量中的上一个
Cur    一组变量中的当前变量
复制代码

六、常量:所有大写,采用下划线命名法。

例如:MIN_WIDTH,MAX_HEIGHTxml

七、资源文件(图片drawable文件夹下):所有小写,采用下划线命名法,加前缀区分

命名模式:activity名称_逻辑名称/common_逻辑名称,若是有多种形态如按钮等除外如btn_xx.xml(selector) blog

资源文件的一些规范
资源文件后缀的一些规范

八、资源布局文件(XML文件(layout布局文件)):所有小写,采用下划线命名法

1).contentview命名, Activity默认布局,以去掉后缀的Activity类进行命名。不加后缀:
   	功能模块.xml
   	例如:main.xml、more.xml、settings.xml
       或则:activity_功能模块.xml
       例如:activity_main.xml、activity_more.xml
2).Dialog命名:dialog_描述.xml
   	例如:dlg_hint.xml
2).PopupWindow命名:ppw_描述.xml
   	例如:ppw _info.xml
3). 列表项命名listitem_描述.xml
   	例如:listitem_city.xml
4).包含项:include_模块.xml
   	例如:include_head.xml、include_bottom.xml
5).adapter的子布局:功能模块_item.xml
   	例如:main_item.xml、
复制代码

九、动画文件(anim文件夹下):所有小写,采用下划线命名法,加前缀区分。

注:前面为动画的类型,后面为方向 接口

动画文件的一些规范

十、资源ID(resourcesid):大小写规范与方法名一致,采用小驼峰命名法。命名规范为“资源控件的缩写 名”+“变量名”。

注:页面控件名称应该和控件id名保持一致

strings.xml,colors.xml等中的id命名:
 命名模式:activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称。
 strings.xml中,使用activity名称注释,将文件内容区分开来。
复制代码

十一、 layout中的id命名:view缩写_模块名称_view的逻辑名称

view的缩写详情以下:

十二、activity中的view变量命名

命名模式为:逻辑名称+view缩写
建议:若是layout文件很复杂,建议将layout分红多个模块,每一个模块定义一个moduleViewHolder,其成员变量包含所属view
复制代码

仅供参考,具体仍是得根据需求来

公众号:Android技术经验分享
相关文章
相关标签/搜索