JAVA语言规范
Android编程规范,是基于java规范基础上制定的,以下为摘录核心的JAVA规范,请务必遵守;
1.【强制】源文件统一采用 UTF-8 的形式进行编码;
2.【强制】一个类代码行数原则上不能超过500行;一个方法代码原则上不能超过100行;
3.【强制】项目工程中,使用字符串、数字、字体大小、颜色等样式,统一采用软编码引用方式,利于后续维护和语言国际化拓展;
4.【强制】代码注释需能清晰完整表达含义;
自定义类、方法(函数),局部代码都需要做注释;
类注释包括:作用、作者、日期;
方法注释包括:作用、作者、日期;
局部代码(bug修改、临时注释掉的代码)注释包括:作用、作者、日期;
5.【强制】对象需要妥善处理空异常,尤其是数据对象,本着一切数据不可信原则,做好判空处理;
6.【强制】自定义方法,复杂逻辑风险处,需要做try catch异常处理;
全局捕获处,可以做相关的善后处理;
7.【强制】项目内同一基础功能类代码保持一份,不能冗余;
8.【推荐】代码书写,全局变量命名以m开头, 如mName; 常量命名:字母全部大写,单词之间用_隔开;
1 Android资源文件命名与使用
1.【强制】资源文件需带模块前缀。
KaTeX parse error: Expected group after '_' at position 9: {module}_̲{type}KaTeX parse error: Expected group after '_' at position 11: {funciton}_̲{desc}${status}.xml
例如Activity 的 type就是activity;
2.【强制】color 资源,size资源 由设计给出主题样式,app内部不能直接使用颜色值或者size;例如不能直接使用#ff0000,需要统一样式文档定义SYSTEM_RED为#ff0000后, 再引用SYSTEM_RED;
3.【强制】 Id 资源原则上以驼峰法命名, View 组件的资源 id 需要以 View 的缩写作为前缀。
其它控件的缩写推荐使用小写字母并用下划线进行分割,例如:
ProgressBar 对应的缩写为 progress_bar
DatePicker 对应的缩写为 date_picker
2 Android基本组件
Android 基本组件指Activity、 Fragment、Service、BroadcastReceiver、 ContentProvider 等;
1.【强制】Activity 间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable 的方式,可以考虑 EventBus 、或者jetPack的LiveData等替代方案,以免造成 TransactionTooLargeException。
2.【强制】Activity 间通过隐式 Intent 的跳转,在发出 Intent 之前必须通过 resolveActivity检查,避免找不到合适的调用组件,造成 ActivityNotFoundException 的异常。
【强制】避免在 Service#onStartCommand()/onBind()方法中执行耗时操作,如果确 实有需求,应改用 IntentService 或采用其他异步机制完成
【强制】避免在 BroadcastReceiver#onReceive()中执行耗时操作,如果有耗时工作, 应该创建 IntentService