android代码规范

来源:互联网 发布:php匹配字符串 编辑:程序博客网 时间:2024/06/02 04:43

1,包名

   一级包名是顶级域名,通常为com,edu,gov,net,org等,二级包名为公司名,三级包名根据应用进行命名

2,类名

类描述例如Activity 类Activity为后缀标识欢迎页面类WelcomeActivityAdapter类Adapter 为后缀标识新闻详情适配器 NewDetailAdapter解析类Parser为后缀标识首页解析类HomePosterParser工具方法类Utils或Manager为后缀标识(与系统或第三方的Utils区分)或功能+Utils线程池管理类:ThreadPoolManager日志工具类:LogUtils(Logger也可)打印工具类:PrinterUtils数据库类以DBHelper后缀标识新闻数据库:NewDBHelperService类以Service为后缀标识时间服务TimeServiceBroadcastReceiver类以Receiver为后缀标识推送接收JPushReceiverContentProvider类以Provider为后缀标识ShareProvider自定义的共享基础类以Base开头BaseActivity,BaseFragment

3.3 方法名

方法名都以lowerCamelCase风格编写。

方法名通常是动词或动词短语。

方法说明initXX()初始化相关方法,使用init为前缀标识,如初始化布局initView()isXX() checkXX()方法返回值为boolean型的请使用is或check为前缀标识getXX()返回某个值的方法,使用get为前缀标识setXX()设置某个属性值handleXX()/processXX()对数据进行处理的方法displayXX()/showXX()弹出提示框和提示信息,使用display/show为前缀标识updateXX()更新数据saveXX()保存数据resetXX()重置数据clearXX()清除数据removeXX()移除数据或者视图等,如removeView();drawXX()绘制数据或效果相关的,使用draw前缀标识                                   

4 常量名

常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。那,到底什么算是一个常量?

每个常量都是一个静态final字段,但不是所有静态final字段都是常量。在决定一个字段是否是一个常量时,考虑它是否真的感觉像是一个常量。例如,如果任何一个该实例的观测状态是可变的,则它几乎肯定不会是一个常量。只是永远不打算改变对象一般是不够的,它要真的一直不变才能将它示为常量。

// Constantsstatic final int NUMBER = 5;static final ImmutableListNAMES = ImmutableList.of("Ed", "Ann");static final Joiner COMMA_JOINER = Joiner.on(','); // because Joiner is immutablestatic final SomeMutableType[] EMPTY_ARRAY = {};enum SomeEnum { ENUM_CONSTANT }// Not constantsstatic String nonFinal = "non-final";final String nonStatic = "non-static";static final SetmutableCollection = new HashSet();static final ImmutableSetmutableElements = ImmutableSet.of(mutable);static final Logger logger = Logger.getLogger(MyClass.getName());static final String[] nonEmptyArray = {"these", "can", "change"};
方法说明initXX()初始化相关方法,使用init为前缀标识,如初始化布局initView()isXX() checkXX()方法返回值为boolean型的请使用is或check为前缀标识getXX()返回某个值的方法,使用get为前缀标识setXX()设置某个属性值handleXX()/processXX()对数据进行处理的方法displayXX()/showXX()弹出提示框和提示信息,使用display/show为前缀标识updateXX()更新数据saveXX()保存数据resetXX()重置数据clearXX()清除数据removeXX()移除数据或者视图等,如removeView();drawXX()绘制数据或效果相关的,使用draw前缀标识                                   

3.5 非常量字段名

非常量字段名以lowerCamelCase风格的基础上改造为如下风格:基本结构为scopeVariableNameType

scope:范围

非公有,非静态字段命名以m开头。

静态字段命名以s开头。

公有非静态字段命名以p开头。

公有静态字段(全局变量)命名以g开头。

例子:

public class MyClass {      int mPackagePrivate;        private int mPrivate;        protected int mProtected;      private static MyClass sSingleton;        public int pField;      public static int gField;}



https://github.com/Blankj/AndroidStandardDevelop

方法说明initXX()初始化相关方法,使用init为前缀标识,如初始化布局initView()isXX() checkXX()方法返回值为boolean型的请使用is或check为前缀标识getXX()返回某个值的方法,使用get为前缀标识setXX()设置某个属性值handleXX()/processXX()对数据进行处理的方法displayXX()/showXX()弹出提示框和提示信息,使用display/show为前缀标识updateXX()更新数据saveXX()保存数据resetXX()重置数据clearXX()清除数据removeXX()移除数据或者视图等,如removeView();drawXX()绘制数据或效果相关的,使用draw前缀标识                                   
原创粉丝点击