Android进阶之路——安卓编程规范pdf,txt教程

感谢 SingleoD 的授权发布! 此打赏全部给作者! 对于刚入行或者入行几年的程序员,或多或少,都有一点代码规范的问题,有些是没法子,各种需求变更,或入手各种别人写了一半的代码等等,因为时间问题,有时候你是心有余而力不足啊


虽然如此,我们还是得把代码规范养成一种习惯,这不仅仅是写出优美的代码,好的代码还能提高效率和提升性能的 一、包 1. 包名全部采用小写,不用下划线区分单词 2. 主包名采用[公司性质].[公司名称].[项目名称]的命名方式 例如:翡翠教育做的手机助手包名edu.feicui.assistant 3. 通用功能子包名采用[主包名].[通用名称]的命名方式 常见通用功能如下表: 一般功能子包名采用[主包名].[模块名称].[子模块名称]的命名方式,例如: 手机助手的闹钟模块包名 edu.feicui.assistant.alarm 4. 只需导入用到的类,不得用*导入包下所有类 5. 导入类时,系统类在上方,自定义类在下方 二、代码 代码主要采用大/小驼峰命名法,即除首字母外,每个单词首字母大写,整体首字母大小根据其它规范决定 类名、接口名、枚举名等首字母大写,若由多个单词组成,则其后每个单词首字母大写,例如: class ConfigManager{} 类名、接口名、枚举名等首字母大写,若由多个单词组成,则其后每个单词首字母大写,例如: class ConfigManager{} 继承自安卓组件的类,采用父类名作为后缀,例如: class LoginActivity extends Activity{} 自定义异常必须以Exception结尾 除for循环变量外,一律不得使用i、j、k等单字符作为变量名 定义数组时方括号紧随在原始类型之后,数组名称一般使用复数形式,例如: int[] arrays; 常量、枚举等均采用大写形式,用下划线区分各单词,例如: final static int DIALOG_ID_ALARM = 1; enum Season{SPRING, SUMMER, AUTUMN, WINTER}; 全局变量添加所有者前缀:实例成员变量前缀m(表示member),类静态变量前缀s(表示static),例如: 实例变量mRun 类静态变量sInstance 控件变量添加组件前缀,顺序在所有者前缀之后,例如: 全局名称mBtnNext 局部名称btnNext 常见控件前缀如下表: 11. 除单例模式外一般不得使用静态变量 12. 常量一般使用final static修饰,根据需要使用可见性修饰符,例如: public static final int VISIBLE = 0x00000000; 13. 一般方法名首字母小写,若由多个单词组成,则其后每个单词首字母大写 14. 构造方法采用递增方式(参数多的写在后面) 例如: public GameView(Context context) { this(context, null); } public GameView(Context context, AttributeSet attrs) { this(context, attrs, 0); } 15. 仅在项目内使用的实体类不使用JavaBean进行封装,直接将成员变量访问修饰符修改为非private,例如: class User{public String name,pwd;} 16. 实体类中固定值的成员变量可设置成final,并通过构造函数初始化 17. 实体类中不得随意修改的成员变量可添加下划线前缀以作区别,例如: class User{public int _id;} 18. 一般不使用System.out输出,而是使用Log中的方法 19. 使用BuildConfig.DEBUG标记对Log进行封装,只在调试时输出重要信息,正式版不输出 20. 一般try……catch只捕获需要的异常 21. catch块不得为空,至少应当将异常信息输出 文/SingleoD(简书作者) 原文链接:http://www.jianshu.com/p/fbf9ea4b9d76 长按识别二维码,订阅IT江湖!


发表回复