说明
这是我开源的一个基于MVP架构的Android开发基础框架,源码开放在gitlab上。
仓库地址:https://gitlab.com/lxqxsyu/TestKotlin
框架介绍
MVP架构,Retrofit+Rxjava+Okhttp网络请求,可切换Glide和Fresco图片框架,封装基础刷新分页加载,部分功能后期会有所改进。
框架整体结构
MVP
网络框架结构
1 代码规范
1.1 Class 命名
任何类名都应该使用 UpperCamelCase (驼峰法)命名, 例如:
|
|
1.2 变量名
- 变量名:静态常量使用大写字母,使用下划线“_”分词。
- 非静态成员变量、局部变量、首字母小写,驼峰式分词。
- Activity、Fragment、Adapter、View 的子类的成员变量:m开头、驼峰式分词。
- 方法名:首字母小写,驼峰式分词。
1.3 成员变量定义顺序(建议)
- 公用静态常量
- 私用静态常量
- 私有非静态变量
1.4 禁止”魔术数”
|
|
代码中的 case 后的数字即为魔术数,应该使用有明示意义的常量代替。
1.5 禁止忽略异常
|
|
1.6 避免UI线程IO
不要在主线程执行IO或网络的操作 ( 卡顿工具检查主线程的方法时间设置阀值,超过用子线程去执行 )。
1.7 非静态匿名内部类请用WeakReference 方式持有外部对象的引用
|
|
1.8 长度限制
- 一行代码的长度:不要超过160个字符。
- 一个方法的长度:不要超过:80行。
- 一个文件的长度不超过:1000行。
- 一个方法的参数列表不要超过:7个。
- if 嵌套层次:不要超过4层。
- 无用代码
- 禁止无用的import。
- 禁止import *。
- 禁止无用变量。
2 Resource 命名
2.1 Activity、Fragment、Dialog的布局命名:activity/fragment/dialog+模块,小写字母使用下划线 ”_ ”分词
例如:
|
|
2.2 控件布局命名:模块名+布局类型,小写字母使用下划线 ”_ ”分词。例如:goods_list_item
2.3 图片资源
不再使用的布局资源及时删除。
2.2 图片
图片以ic_为前缀,与功能、状态一起命名。例如:
ic_accept
其他 drawable 文件应该使用相应的前缀,例如:
类型 | 前缀 | 例如 |
---|---|---|
Selector | selector_ | selector_button_cancel |
Background | bg_ | bg_rounded_button |
Circle | circle_ | circle_white |
Progress | progress_ | progress_circle_purple |
Divider | divider_ | divider_grey |
2.3 字符串命名
相同英文含义,小写字母使用下划线 ”_ ”分词。
2.4 其他
避免使用"px"作为单位。