Android项目代码规范
项目代码规范
- 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模型,反之亦然)
Android项目代码规范的更多相关文章
- Android 项目优化(一):项目代码规范优化
项目代码规范为主要包含:类,常量,变量,ID等命名规范:注释规范:分包规范:代码风格规范. 项目代码规范是软件开发过程中非常重要的优化环节. 目前的开发社区提供了很多的开发规范文档,阿里巴巴推出了&l ...
- Android开发代码规范(转)
Android开发代码规范 1.命名基本原则 在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名称 ...
- C#项目代码规范
C#项目代码规范 前言 小菜就是小菜,几个人搞出来的项目,让公司大牛稍微看了下,最后送出了惨不忍睹四个字.命名各种各样,五花八门,大写英文.小写英文.大写拼音.小写拼音.英文和拼音组合.字母和特殊 ...
- 团队开发前端VUE项目代码规范
团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658 一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致 ...
- 【Android 应用开发】 Android 相关代码规范 更新中 ...
. 简介 : Android 常用的代码结构, 包括包的规范, 测试用例规范, 数据库模块常用编写规范; 参考 : 之前写的一篇博客 [Android 应用开发] Application 使用分析 ; ...
- Android开发代码规范
目录 1.命名基本原则 2.命名基本规范 2.1编程基本命名规范 2.2分类命名规范 3.分类命名规范 3.1基本数据类型命名规范 3.2控件命名规范 3.3变量命名规范 3.4整个项目的目录规范化 ...
- Android项目代码混淆
http://coolshell.info/blog/2015/03/Android-studio-prefrence.html 什么是Gradle Gradle是一种依赖管理工具,基于Groovy语 ...
- Android开发代码规范总结
本篇开始总结Android开发中的一些注意事项,提高代码质量(仅供参考): 1. Activity间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable 的方式,可以考虑 ...
- android 项目中规范使用SharedPreferences
一.SharedPreferences是什么来的? SharedPreferences是Android四种数据存储技术中的一种(SharedPreferences.SQLite.Content Pro ...
- Django Web项目代码规范参考
Python:PEP8+GoogleStyle+DjangoSytlePEP8中文版:http://www.cnblogs.com/huazi/archive/2012/11/28/2792929.h ...
随机推荐
- Launching Teamviewer remotely through SSH
Launching Teamviewer remotely through SSH When you need to manage your Server remotely, but you can ...
- css 居中的汇总
前言 对css居中的几种方式汇总,并且分析适用情况. 正文 margin+position .CenterParent { position: relative; height: 200px; wid ...
- redis 简单整理——Lua[十一]
前言 简单介绍一下Lua. 正文 为了保证多条命令组合的原子性,Redis提供了简单的事务功能以及集 成Lua脚本来解决这个问题. 前面提及到pipline,也提及到pipline 并不是原子性的,如 ...
- mysql 重新整理——性能下降的原因[四]
前言 什么是性能下降? 其实就是代码运行的环境变了,那么环境变化是什么? 比如cpu上升了,内存满了.有或者表中数量增加了,量变了. 其实这些是dba干的,但是呢,我们也需要去了解下,并且优化我们的c ...
- .NET8中的Microsoft.Extensions.Http.Resilience库
接上一篇,https://www.cnblogs.com/vipwan/p/18129361 借助Aspire中新增的Microsoft.Extensions.ServiceDiscovery库,我们 ...
- 力扣557(java)-反转字符串中的单词(简单)
题目: 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入:s = "Let's take LeetCode contest&qu ...
- 一文详解用eBPF观测HTTP
简介: 随着eBPF推出,由于具有高性能.高扩展.安全性等优势,目前已经在网络.安全.可观察等领域广泛应用,同时也诞生了许多优秀的开源项目,如Cilium.Pixie等,而iLogtail 作为阿里内 ...
- SysOM 案例解析:消失的内存都去哪了 !| 龙蜥技术
简介: 这儿有一份"关于内存不足"排查实例,请查收. 文/系统运维 SIG 在<AK47 所向披靡,内存泄漏一网打尽>一文中,我们分享了slab 内存泄漏的排查方式和工 ...
- 【漫画】最近,老王又双叒get了CDN的新技能—可编程化敏捷开发
原文链接本文为阿里云原创内容,未经允许不得转载.
- KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置
简介:KubeVela v1.3 在之前的多集群功能上进行了迭代,本文将为你揭示,如何使用 KubeVela 进行多集群应用的部署与管理,实现以上的业务需求. 作者:段威(段少) 在当今的多集群业务 ...