Android代码规范总结

image.png

每当看到github上优秀的项目代码时,那简直就比掏耳朵还享受。写代码如同写文章,代码时开发者的颜值,正所谓没有丑女人,只有懒女人,漂亮的代码也需要我们去精心装饰。简洁规范的代码对个人,对团队,对下一个代码接盘者,是一种责任,也是一种专业的体现。

命名规范:

  • 类的命名:使用大驼峰法,同时需要根据类的作用引入Android相关命名规则,使用类的类型作为前缀或后缀,示例:
    Activity类:xxxActivity
    Fragment类:xxxFragment
    Service类:xxxService
    工具类:xxxUtil
    Adapter类,xxxAdapter
    基类,Basexxx

  • 布局文件命名:
    布局文件命名规则使用“前缀_逻辑名”方式,单词全小写,示例:
    Activity布局文件命名:activity_xxx
    Fragment布局文件命名:fragment_xxx
    自定义控件布局文件命名:view_xxx
    Dialog布局文件命名:dialog_xxx
    列表项布局文件命名:item_xxx

  • 资源文件命名:
    资源文件命名规则使用“前缀模块名功能名”方式,单词全小写,示例:
    我的个人设置textview,用tv_me_setting
    登录按钮,用btn_login
    图标命名以ic为前缀,形如ic_xxx
    背景图片命名以bg为前缀,形如bg_xxx
    背景样式shape形如shape_xxx
    背景选择器selector形如selector_xxx

  • 命名结构

  1. 枚举常量用逗号隔开,换行可选:
public enum NetWorkState {
    WIFI,MOBILE,NONE;
}
  1. 每次只声明一个变量:
    不要组合声明变量,例如int num,max;这样影响阅读。

  2. 数据初始化:可写成块状结构,例如

new int[] {
        0, 1, 2, 3 
}
new int[] {
        0,
        1,
        2,
        3
}
  • 变量和常量
    变量名的命名使用小驼峰法lowerCamelCase。常量名使用大写字母,单词用下划线分割,例如public static final int REQUEST_OK = 200。

  • 临时变量
    变量i,j,k通常用于循环计数;变量m,n通常用于整形;c,d,e通常用于字符型。

  • 常用英文单词缩写:

名称 缩写
icon ic
average avg
background bg
delete del
document doc
error err
increment inc
infomation info
initial init
image img
length len
library lib
message msg
password pwd
position pos
string str
  • 不要使用拼音来命名,不知道英文单词就及时使用翻译。

代码书写规范:

  • 多使用花括号:
    if,else,for等语句和花括号一起使用,即使只有一条语句,也要加上花括号。
if(allowed)
    todo();
else
    back();

不建议这样写,这样可能给人误导。
正确做法应为:

if(allowed){
    todo();
}else{
    back();
}
  • 每行字符个数限制在80—100个之间

  • 空白的使用:符号之间应用一个空格隔开;一段代码内,不要都挤在一起,而应该按照逻辑分组,用空行隔开,使逻辑更加清晰。

  • 修饰符的顺序:类和成员的修饰符如果存在多个,需要按照Java规范的定义排序,顺序如下:
    public protected private abstract static final transient volatile synchronized native

  • 方法的注释:

/**
     * 功能描述
     * @param 参数说明
     * @return 返回值说明
     * @author 模块的作者
     */
private void function(){
}
  • 类的注释:在创建类时标注好作者,创建时间,联系方法,类功能等信息
/**
 * Created by libo on 2017/12/25.
 * email:
 * 单聊
 */

该文章持续总结,持续更新。

你可能感兴趣的:(Android代码规范总结)