项目代码规范
- Android Studio的代码Style检查和inspect Code功能已经很强大,规范只负责代码结构和文件结构
- 带
?
的内容为可选或团队内协商内容
核心目标
- 提高可维护性: MVVM
- 降低开发成本: JAVA -> Kotlin
- 降低沟通成本: 命名规范+代码结构
语言-Kotlin
- 版本:1.3及以上
- 质量:
CodeSytleLint
Android Studio -> Code -> Inspect Code
模式-MVVM
- M职责:数据持久化 + 模型转换Builder
- V职责:UI + UI交互响应
- VM职责: 网络请求响应 + 其他响应
注意:ViewModel
绝不能引用视图、Lifecycle或可能存储对Activity上下文的引用的任何类
命名规范:
- 文件夹:小写activity,fragment,viewholder,viewmodel,model,net,extension
- 类名:首字母大写+驼峰+身份结尾(xxxActivity,xxxModel,xxxExtension)
代码结构:
单文件顺序
- 1、常量
- 2、枚举类
- 3、类
- 4、类的extension(?)
View(Activity、Fragment)内部顺序
- 1、常量
- 2、Public属性、Private属性、构造函数
- 3、生命周期方法(onCreate、onResume)
- 4、UI方法(initView, resetView)
- 5、UI事件(onXXX)
- 6、网络请求
- 7、网络响应回调
- 8、通知响应回调
ViewModel内部顺序
- 1、Public LiveData - 外部监听
- 2、Private MutableLiveData - 内部持有
- 2、网络事件方法(?)
- 3、其他事件方法(?)
Model编写规范
- 1、注解@Parceblize + data class + : Parceble
- 2、或data class: Serializable (因使用的是反射,执行效率不如第一种)
- 3、XXXModelBuilder(通过构造模式将接口Json模型转换为页面需要的UI模型,反之亦然)