title: Android编码规范指南
tags: Android,基础


本文参考最全面的 Android 编码规范指南和标准的Java编码规范手册。该文档仅供参考,只要形成一个统一的风格即可。

源文件基础

  • 文件名
    源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为.java。
  • 文件编码
    源文件编码格式为 UTF-8。

源文件结构

一个源文件包含(按顺序地):

  1. 许可证或版权信息(如有需要)
  2. package语句
  3. import语句
  4. 一个顶级类(只有一个)以上每个部分之间用一个空行隔开。
  1. 许可证或版权信息
    如果一个文件包含许可证或版权信息,那么它应当被放在文件最前面。
  2. package语句
    package 语句不换行。
  3. import语句
    3.1 import不要使用通配符
    即,不要出现类似这样的import语句:import java.util.*;
    3.2 不要换行
    图例:
Android编码规范指南_第1张图片 源文件结构1.1.png

格式规范

  • 缩进
    每当开始一个新的块,缩进增加4个空格,当块结束时,缩进返回先前的缩进级别。缩进级别适用于代码和注释

  • 一行一个语句
    每个语句后要换行。

  • 行长度
    每行80或100字符,package和import语句除外

  • 换行

    • 从哪里换行
      基本准则是:更倾向于在更高的语法级别处断开。

    如果在非赋值运算符处断开,那么在该符号前断开(比如+,它将位于下一行)。
    这条规则也适用于以下”类运算符”符号:点分隔符(.),类型界限中的 &()
    如果在赋值运算符处断开,通常的做法是在该符号后断开(比如=,它与前面的内容留在同一行)。这条规则也适用于foreach语句中的分号。
    方法名或构造函数名与左括号留在同一行。
    逗号(,)与其前面的内容留在同一行

    • 换行时缩进至少+8个空格
Android编码规范指南_第2张图片 换行位置2.1.png
  • 使用空行
    以下情况使用一个空行:

1.类内连续的成员之间:字段,构造函数,方法,嵌套类,静态初始化块,实例初始化块。
2.在函数体内,语句的逻辑分组间使用空行。

  • 使用空格

1.分隔任何保留字与紧随其后的左括号(()(如if, for catch等)。
2.分隔任何保留字与其前面的右大括号(})(如else, catch)。
3.在任何左大括号前({)
4.在任何二元或三元运算符的两侧。
5.在, : ;及右括号())后
6.如果在一条语句后做注释,则双斜杠(//)两边都要空格。
7.类型和变量之间:List list。
8.数组初始化中,大括号内的空格是可选的,即new int[] {5, 6}和new int[] { 5, 6 }都是可以的。

命名规则

  1. 对所有标识符都通用的规则
    标识符只能使用ASCII字母和数字,因此每个有效的标识符名称都能匹配正则表达式\w+。

  2. 标识符类型的规则
    2.1 包名全部小写,连续的单词只是简单地连接起来,不使用下划线。采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名。

package com.anxin.changbaishan.view;
package com.anxin.changbaishan.utils;

2.2 类命名
类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML) 。

public class Base64Util
public class AccountFragment

2.3 接口命名
接口类名以大写“I”开头,大小写规则与类名相似。

public interface IProjGroupService

2.4 方法命名
方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。

public void onCreate(Bundle savedInstanceState)
public void run()

2.5 常量命名
(Constants [采用stiatc final 修饰]) 类常量的声明,应该全部大写,单词间用下划线隔开。

private static final int MIN_WIDTH = 4;
private static final int MAX_WIDTH = 999;

2.6 局部变量
采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们一般用于整型。c,d,e,它们一般用于字符型,变量名不应以下划线或美元符号开头。

int i = 0;
float imageWidth = 0;

2.7 实例变量
大小写规则和类名相似,除了前面需要一个m。

private int mEmployeeId = 0;
private String mName = "";

  1. 资源文件命名规范
    3.1 资源布局文件(XML文件(layout布局文件)):
    全部小写,采用下划线命名法
  • 必须以全部单词小写,单词间以下划线分割,使用名词或名词词组。所有Activity或Fragment的contentView必须与其类名对应,对应规则为:将所有字母都转为小写,将类型和功能调换(也就是后缀变前缀)。
Android编码规范指南_第3张图片 资源布局文件命名3.1.png
  • Dialog命名:dialog_描述.xml

dialog_hint.xml

3.2 资源文件(图片drawable文件夹下)
全部小写,采用下划线命名法,加前缀区分
命名模式:可加后缀 small 表示小图, big 表示大图,逻辑名称可由多个单词加下划线组成,采用以下规则:
控件类型
模块名
逻辑名称
控件类型模块名颜色
控件类型逻辑名称
控件类型
颜色

btn_main_home.png 按键
divider_maket_white.png 分割线
ic_edit.png 图标
bg_main.png 背景
btn_red.png 红色按键
btn_red_big.png 红色大按键
ic_head_small.png 小头像
bg_input.png 输入框背景
divider_white.png 白色分割线

3.3 layout中的id命名
命名模式为:view缩写_view的逻辑名称

UI控件缩写表

Android编码规范指南_第4张图片 UI控件缩写表.png

更多相关文章

  1. Android代码混淆之混淆规则
  2. android常用语句
  3. Android 开发 UI 规则
  4. Android Studio module里面放switch语句报错 R文件找不到
  5. Android SDK 5.0 这个语句带来折腾 - 生命在于折腾!
  6. android 资源ID规则
  7. android 资源文件命名规则 drawable mipmap一样的
  8. 关于Android中drawable必知的一些规则
  9. Android 开发之关于 drawable 你必须知道的规则

随机推荐

  1. Android中照相机的使用
  2. 程序小白----AndroidStudio之飞机大战
  3. eclipse下载androidSDK
  4. Android之计时器(Chronometer)的用法
  5. cocos2d-x tutorials: Start with Androi
  6. Android项目开发中如何处理Home键
  7. 2010.12.27——— android service
  8. Android为按钮添加相应事件的代码
  9. Android项目研发之多分辨率适配
  10. listView中item 图文并存的两种方法