二.Android代码书写规范

0.命名法

  • 驼峰式命名法(CamelCase)分大驼峰式命名法(UpperCamelCase)和小驼峰式命名法(lowerCamelCase)。
//大驼峰 所有单词首字母大写
MainActivity
//小驼峰 第一个单词首字母小写,其他单词首字母大写
onCreate
  • 下划线命名法
//用下划线分隔
android:id="@+id/txt_header_title"

1.项目名称

  • 使用英文的项目名称

2.包名

  • 包名全部小写,连续的单词只是简单地连接起来,不使用下划线。

3.类名

类名=功能+类型后缀

类名都以大驼峰(UpperCamelCase)风格编写。
类名通常是名词或名词短语,接口名称有时可能是形容词或形容词短语。

  • activity类,命名以Activity为后缀,如:LoginActivity
  • fragment类,命名以Fragment为后缀,如:ShareDialogFragment
  • service类,命名以Service为后缀,如:DownloadService
  • adapter类,命名以Adapter为后缀,如:CouponListAdapter
  • 工具类,命名以Util为后缀,如:EncryptUtil
  • 模型类,命名以BO为后缀,如:CouponBO
  • 接口实现类,命名以Impl为后缀,如:ApiImpl
  • 测试类,命名以它要测试的类的名称开始,以Test结束。例如,HashTest或HashIntegrationTest。

4.import

  • import不要使用通配符。
    如:
import java.test.*
  • import语句可分为以下几组,按照这个顺序,每组由一个空行分隔:
    1. 所有的静态导入独立成组
    2. 第三方的包。每个顶级包为一组,字典序。例如:android, com, junit, org
    3. java imports
    4. javax imports
import static java.lang.System.out;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.example.luffy.myapplication.TestActivity;

import java.math.BigInteger;

import javax.sql.RowSet;

5.常量和变量

  • 常量

    常量=形容词(名词)+_+名词

    常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。

  • 变量

    变量={范围描述+}意义描述+类型描述

    小驼峰(lowerCamelCase)风格编写,这些名字通常是名词或名词短语。

    private TextView headerTitleTxt;

6.方法名

方法名=动词+意义

方法名都以小驼峰(lowerCamelCase)风格编写。
方法名通常是动词或动词短语。

  • 初始化方法,命名以init开头,例:initView
  • 按钮点击方法,命名以to开头,例:toLogin
  • 设置方法,命名以set开头,例:setData
  • 具有返回值的获取方法,命名以get开头,例:getData
  • 布尔型的判断方法,命名以is或has,或具有逻辑意义的单词如equals,例:isEmpty

7.XML文件命名

控件缩写如下:

控件缩写
TextViewtxt
EditTextedt
Buttonbtn
ImageButtonibtn
ImageViewimg
ListViewlist
RadioGroupgroup
RadioButtonrbtn
ProgressBarprogress
SeekBarseek
CheckBoxchk
Spinnerspinner
TableLayouttable
TableRowrow
LinearLayoutllayout
RelativeLayoutrlayout
ScrollViewscroll
SearchViewsearch
TabHosthost
TabWidgetwidget

7.1 控件id命名

id=控件缩写_{范围_}意义

android:id="@+id/txt_header_title"
android:id="@+id/btn_login"

7.2 layout.xml命名

layout.xml=组件类型_{范围_}功能

范围可选,只在有明确定义的范围内才需要加上。以下为几种常用的组件类型命名:

  • activity_{范围_}功能,为Activity的命名格式
  • fragment_{范围_}功能,为Fragment的命名格式
  • dialog_{范围_}功能,为Dialog的命名格式
  • item_list_{范围_}功能,为ListView的item命名格式
  • item_grid_{范围_}功能,为GridView的item命名格式
  • header_list_{范围_}功能,为ListView的HeaderView命名格式
  • footer_list_{范围_}功能,为ListView的FooterView命名格式

7.3 strings的命名

strings=类型_{范围_}功能

以下为几种常用的命名:

  • 页面标题,命名格式为:title_页面
  • 按钮文字,命名格式为:btn_按钮事件
  • 标签文字,命名格式为:label_标签文字
  • 选项卡文字,命名格式为:tab_选项卡文字
  • 消息框文字,命名格式为:toast_消息
  • 编辑框的提示文字,命名格式为:hint_提示信息
  • 图片的描述文字,命名格式为:desc_图片文字
  • 对话框的文字,命名格式为:dialog_文字
  • menu的item文字,命名格式为:action_文字

7.4 colors的命名

colors=前缀{_控件}{_范围}{_后缀}

控件、范围、后缀可选,但控件和范围至少要有一个。

  • 背景颜色,添加bg前缀
  • 文本颜色,添加text前缀
  • 分割线颜色,添加div前缀
  • 区分状态时,默认状态的颜色,添加normal后缀
  • 区分状态时,按下时的颜色,添加pressed后缀
  • 区分状态时,选中时的颜色,添加selected后缀
  • 区分状态时,不可用时的颜色,添加disable后缀

7.5 drawable的命名

drawable=前缀{_控件}{_范围}{_后缀}

  • 图标类,添加ic前缀
  • 背景类,添加bg前缀
  • 分隔类,添加div前缀
  • 默认类,添加def前缀
  • 区分状态时,默认状态,添加normal后缀
  • 区分状态时,按下时的状态,添加pressed后缀
  • 区分状态时,选中时的状态,添加selected后缀
  • 区分状态时,不可用时的状态,添加disable后缀
  • 多种状态的,添加selector后缀(一般为ListView的selector或按钮的selector)

8.注释

8.1 文件头注释

文件顶部统一添加版权声明,声明的格式如下:

/**
* @FileName:${file_name}(文件名)
 * @Copyright:   ${name}, All rights reserved(版权)
 * @Description:${todo}(用一句话描述该文件做什么)
 * @author:       ${author} (作者)
 * @data:        ${date} ${time}(时间)
 * @version:     ${version}(版本) 
 */

8.2 方法注释

添加注释,说明该方法的用途和参数说明,以及返回值的说明。

/** 
 * 登录 
 * @param numberFirst 第一个数
 * @param numberSecond 第二个数
 * @param result 两个和的结果
 */
public int add(int numberFirst, int numberSecond){
    return result;
}

8.3 变量和常量注释

注释说明,优先采用右侧//来注释,若注释说明太长则在上方添加注释。

private String name; // 券名称

/**
  *当前状态的的数字,可以进行修改
  */
private final int CURRENT_NUMBER=1;

9.总结

名称结构
类名类名=功能+类型后缀
常量常量=形容词(名词)+_+名词
变量变量={范围描述+}意义描述+类型描述
方法名方法名=动词+意义
idid=控件缩写_{范围_}意义
layout.xmllayout.xml=组件类型_{范围_}功能
stringstrings=类型_{范围_}功能
colorscolors=前缀{_控件}{_范围}{_后缀}
drawabledrawable=前缀{_控件}{_范围}{_后缀}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值