最佳实践之 Android代码规范
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了最佳实践之 Android代码规范,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3373字,纯文字阅读大概需要5分钟。
内容图文
命名规范
包命名规范
采用反域名命名规则,包名全部小写,连续的单词只是简单地连接起来,不使用下划线,一级包名为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:
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 (hasMoney())
{
}
else
{
}
风格二
if (hasMoney()) {
} else {
}
空格问题
if else
| while
| 运算符两端
等后面需用空格隔开。例如:
规范的编写方式:
if (hasMoney()) {
} else {
}
for (int i = 0; i < 10; i++) {
}
不规范的编写方式:
if(hasMoney()){
}else{
}
for(int i=0; i<10;i++){
}
方法参数
当方法参数数量过多时,需进行换行处理.
注释
必须要对所有实例变量、类常量进行注释说明 例如:
// 用户姓名
private String userName
必须对所有的类、接口进行注释说明 例如:
/**
* Activity基类
*
* @author ice_zhengbin@163.com
*/
public class BaseActivity extends Activity
{
}
必须对所有的方法进行注释说明 例如:
/**
* 请求
*
* @param path 路径
* @param generalParams 基本参数
* @param businessParams 业务参数
* @return 请求结果
* @throws ApiException 请求错误则返回该异常
*/
public Map<String, Object> request (String path,
Map<String, Object> generalParams,
Map<String, Object> businessParams) throws ApiException {
return null;
}
更多详细也可以参考: [Google Java编程风格指南](http://hawstein.com/posts/google-java-style.html)
驼峰式命名法(CamelCase)
-
大驼峰式命名法(
UpperCamelCase
):
每个单词的第一个字母都大写 如:XmlHttpRequest
-
小驼峰式命名法(
lowerCamelCase
):
除了第一个单词,每个单词的第一个字母都大写 如:xmlHttpRequest
说明
该篇介绍为Android项目开发过程中的一些常用的命名规范|代码编写风格规范,该规范来源于个人资料整理(参考网络技术博客)、个人项目实践。参考这些规范有助于 项目的协同开发,项目代码的风格统一、在项目的后期维护中更方便、快捷的查找、理解和修改别人的代码。如朋友们有更好的规范要求、欢迎分享出来、一起讨论。
本篇参考文章列表:
-
hawstein分享的 Google Java编程风格指南
-
小巫分享的 Android研发规范
如果您对文章内容有任何疑问或有更好的见解, 欢迎通过留言或发邮件的方式联系我:
ice_zhengbin@163.com如需要转载,请注明出处,谢谢!!
原文:http://blog.csdn.net/janice0529/article/details/44943899
内容总结
以上是互联网集市为您收集整理的最佳实践之 Android代码规范全部内容,希望文章能够帮你解决最佳实践之 Android代码规范所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。