项目代码规范

  • 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项目代码规范的更多相关文章

  1. Android 项目优化(一):项目代码规范优化

    项目代码规范为主要包含:类,常量,变量,ID等命名规范:注释规范:分包规范:代码风格规范. 项目代码规范是软件开发过程中非常重要的优化环节. 目前的开发社区提供了很多的开发规范文档,阿里巴巴推出了&l ...

  2. Android开发代码规范(转)

    Android开发代码规范 1.命名基本原则    在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名称 ...

  3. C#项目代码规范

    C#项目代码规范   前言 小菜就是小菜,几个人搞出来的项目,让公司大牛稍微看了下,最后送出了惨不忍睹四个字.命名各种各样,五花八门,大写英文.小写英文.大写拼音.小写拼音.英文和拼音组合.字母和特殊 ...

  4. 团队开发前端VUE项目代码规范

    团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658   一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致 ...

  5. 【Android 应用开发】 Android 相关代码规范 更新中 ...

    . 简介 : Android 常用的代码结构, 包括包的规范, 测试用例规范, 数据库模块常用编写规范; 参考 : 之前写的一篇博客 [Android 应用开发] Application 使用分析 ; ...

  6. Android开发代码规范

    目录 1.命名基本原则  2.命名基本规范 2.1编程基本命名规范 2.2分类命名规范 3.分类命名规范 3.1基本数据类型命名规范 3.2控件命名规范 3.3变量命名规范 3.4整个项目的目录规范化 ...

  7. Android项目代码混淆

    http://coolshell.info/blog/2015/03/Android-studio-prefrence.html 什么是Gradle Gradle是一种依赖管理工具,基于Groovy语 ...

  8. Android开发代码规范总结

    本篇开始总结Android开发中的一些注意事项,提高代码质量(仅供参考): 1.  Activity间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable 的方式,可以考虑 ...

  9. android 项目中规范使用SharedPreferences

    一.SharedPreferences是什么来的? SharedPreferences是Android四种数据存储技术中的一种(SharedPreferences.SQLite.Content Pro ...

  10. Django Web项目代码规范参考

    Python:PEP8+GoogleStyle+DjangoSytlePEP8中文版:http://www.cnblogs.com/huazi/archive/2012/11/28/2792929.h ...

随机推荐

  1. Launching Teamviewer remotely through SSH

    Launching Teamviewer remotely through SSH When you need to manage your Server remotely, but you can ...

  2. css 居中的汇总

    前言 对css居中的几种方式汇总,并且分析适用情况. 正文 margin+position .CenterParent { position: relative; height: 200px; wid ...

  3. redis 简单整理——Lua[十一]

    前言 简单介绍一下Lua. 正文 为了保证多条命令组合的原子性,Redis提供了简单的事务功能以及集 成Lua脚本来解决这个问题. 前面提及到pipline,也提及到pipline 并不是原子性的,如 ...

  4. mysql 重新整理——性能下降的原因[四]

    前言 什么是性能下降? 其实就是代码运行的环境变了,那么环境变化是什么? 比如cpu上升了,内存满了.有或者表中数量增加了,量变了. 其实这些是dba干的,但是呢,我们也需要去了解下,并且优化我们的c ...

  5. .NET8中的Microsoft.Extensions.Http.Resilience库

    接上一篇,https://www.cnblogs.com/vipwan/p/18129361 借助Aspire中新增的Microsoft.Extensions.ServiceDiscovery库,我们 ...

  6. 力扣557(java)-反转字符串中的单词(简单)

    题目: 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入:s = "Let's take LeetCode contest&qu ...

  7. 一文详解用eBPF观测HTTP

    简介: 随着eBPF推出,由于具有高性能.高扩展.安全性等优势,目前已经在网络.安全.可观察等领域广泛应用,同时也诞生了许多优秀的开源项目,如Cilium.Pixie等,而iLogtail 作为阿里内 ...

  8. SysOM 案例解析:消失的内存都去哪了 !| 龙蜥技术

    简介: 这儿有一份"关于内存不足"排查实例,请查收. 文/系统运维 SIG 在<AK47 所向披靡,内存泄漏一网打尽>一文中,我们分享了slab 内存泄漏的排查方式和工 ...

  9. 【漫画】最近,老王又双叒get了CDN的新技能—可编程化敏捷开发

    原文链接本文为阿里云原创内容,未经允许不得转载.

  10. KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置

    ​简介:KubeVela v1.3 在之前的多集群功能上进行了迭代,本文将为你揭示,如何使用 KubeVela 进行多集群应用的部署与管理,实现以上的业务需求. 作者:段威(段少) 在当今的多集群业务 ...