您的位置:首页 > 移动开发 > Android开发

[转载]最佳实践之Android代码规范

2017-04-07 17:50 405 查看


命名规范


包命名规范

采用反域名命名规则,包名全部小写,连续的单词只是简单地连接起来,不使用下划线,一级包名为com,二级包名为xxx(可以是公司域名或者个人命名),三级包名根据应用进行命名,四级包名为模块名或层级名。如:

com.isa.crm.activity
 |
com.isa.crm.adapter


JAVA类命名规范

采用大驼峰式命名法,尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称包含单词缩写,则单词缩写的每个字母均应大写。如:

Product
 | 
ProductManager
 |
ProductListActivity
 | 
ProductListAdapter
 | 
JsonHTTPSRequest


接口命名规范

命名规则与类一样采用大驼峰命名法,多以
able
ible
结尾。例如:

interface Runable
 | 
interface
Accessible


成员变量命名规范

采用小驼峰命名法

临时变量命名

使用标准的Java命名方法,不推荐使用Google的m命名法。例如:

private String userName;
 而不推荐使用 
private
String mUserName;


常量命名

常量使用全大写字母加下划线的方式命名。例如:

public static final String TAG = "tag";


控件实例命名

类中控件名称必须与xml布局id保持一致(可以去掉
{module_name}
)。例如:

在布局文件中 Button 的id为: 
android:id="@+id/btn_pay"


private Button btn_pay;


方法命名规范

动词或动名词,采用小驼峰命名法。例如:

run();
 | 
onCreate();
 | 
syncProducts();


布局文件(
Layout
)命名规范

全部小写,采用下划线命名法。其中
{module_name}
为业务模块或是功能模块等模块化的名称或简称。

activity layout: 
{module_name}_activity_{名称}
 例如:

crm_activity_main.xml
 | 
crm_activity_shopping.xml


fragment layout:
{module_name}_fragment_{名称}
 例如:

crm_fragment_main.xml
 | 
crm_fragment_shopping.xml


Dialog layout
{module_name}_dialog_{名称}
 例如:

crm_dialog_loading.xml


列表项布局命名
{module_name}_list_item_{名称}
 例如:

crm_listitem_customer.xml


包含项布局命名
include_{名称}
 例如:

include_head.xml


adapter的子布局: 
{module_name}_item_{名称}
 例如:

qz_item_order.xml


widget layout: 
{module_name}_widget_{名称}
 例如:

crm_widget_shopping_detail.xml


资源id命名规范

命名模式为:
{view缩写}_{module_name}_{view的逻辑名称}
,如:

顾客管理CRM模块布局 
LinearLayout
 的布局id –> 
ll_crm_content


模块简称为qz的 
ImageView
 的布局id –> 
iv_qz_photo


常见控件View与其缩写对照参考表如下:




图片资源文件命名规范

图标命名
{module_name}_ic_{名称}
 例如:

crm_ic_app.png


背景图片命名: 
{module_name}_bg_{名称}
 例如:

crm_bg_navbar_highlight_normal.9.png


按钮Button命名: 
{module_name}_btn_{名称}
 例如:

crm_btn_login_normal.9.png


按钮checkbox图片命名
{module_name}_checkbox_{名称}
 例如:

crm_checkbox_cart_true.png


其他图片命名
{module_name}_icon_{名称}
 例如:

qz_icon_blue_circle.png


代码风格


大括号问题

风格一

风格二


空格问题

if else
 | 
while
 | 
运算符两端
 等后面需用空格隔开。例如:

规范的编写方式:

不规范的编写方式:


方法参数

当方法参数数量过多时,需进行换行处理.


注释

必须要对所有实例变量、类常量进行注释说明 例如:

必须对所有的类、接口进行注释说明 例如:

必须对所有的方法进行注释说明 例如:

更多详细也可以参考:
[Google Java编程风格指南](http://hawstein.com/posts/google-java-style.html)


驼峰式命名法(CamelCase)

大驼峰式命名法(
UpperCamelCase
):

每个单词的第一个字母都大写 如:
XmlHttpRequest

小驼峰式命名法(
lowerCamelCase
):

除了第一个单词,每个单词的第一个字母都大写 如:
xmlHttpRequest


说明

该篇介绍为Android项目开发过程中的一些常用的命名规范|代码编写风格规范,该规范来源于个人资料整理(参考网络技术博客)、个人项目实践。参考这些规范有助于 项目的协同开发,项目代码的风格统一、在项目的后期维护中更方便、快捷的查找、理解和修改别人的代码。如朋友们有更好的规范要求、欢迎分享出来、一起讨论。

本篇参考文章列表:
hawstein分享的 Google Java编程风格指南
小巫分享的 Android研发规范

转载请注明:Android开发中文站 » 最佳实践之Android代码规范
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代碼規範