android自用规范二:编码风格篇

原则上,编码风格我们遵循google java编码风格;为了方便他人维护代码,我们约定了一些常见的规范

我们约定了:
服务端请求结果:用RE_开头
数据解析对象:用DTO后缀
前缀、后缀一律大写,举例

public class RE_SubmitAnswer extends RE_Result {
    public C2ServerCheckDetailDTO wrapper;

    public static class C2ServerCheckDetailDTO implements Serializable {
        public int score;
    }
}

RE、DTO放在model文件夹内

放model文件夹内

本地数据保存类,使用 Entity结尾

对于一个类来说,我们约定的顺序如下

  1. 常量
  2. 控件变量
  3. 引用、数值变量
  4. 静态实例化方法,比如Activity调用的start方法public static void start(){}
  5. 系统、重写方法
  6. public方法
  7. 私有方法
下面是一些比较常见的编码习惯

  • 减少重复代码 ,同样的代码重复多次的时候就可以考虑重构了
  • 避免魔鬼数字,尽量使用常量来代替数字
  • 职责单一,比如实现下载文件功能就不应该出现在 Activity里。而是应该抽成一个通用的下载工具类,供Activity调用
  • 减小代码的影响范围,能用private的不用public,能用临时变量的不用全局变量。
  • 缓存耗费资源的计算结果,避免重复计算
  • 条件语句遇到流程复杂的,使用switch代替大量的if else语法
下面是一些编码方面性能优化的习惯

  1. 集合、数组如果事先知道数量,则用该数量初始化比如 List temp = new ArrayList(3);
  2. 善用android sdk提供的Util类,比如TextUtils,比如用ArrayMap替代HashMap,在hashMap的key是int类型的情况下,使用SparseArray代替HashMap
下面是android Studio提供的功能,使用好,可以减少我们工作量

  • 设置变量前缀、后缀等
    类里的全局变量使用m前缀,比如mViewPager,这样会减少和方法内变量、参数的冲突

    android自用规范二:编码风格篇_第1张图片
    编码风格,设置前缀

  • 重构之提取代码
    复杂的语句用变量表达意图,比如我们经常遇到if()判断语句里面有一大堆条件,稍不留神就容易产生Bug
    AS可以帮我们把选中的代码块提取成变量、常量、属性、参数、方法等等形态


    android自用规范二:编码风格篇_第2张图片
    重构,提取代码
  • 用好TODO
    尽量避免使用TODO,因为TODO经常就不了了之,能当下解决的,加个班搞定吧
    有时候资源限制,我们不得不用todo的时候,请使用android Studio 提供的语法
    //TODO:todo描述

    android自用规范二:编码风格篇_第3张图片
    系统自动高亮

    这样有什么好处呢?我们可以清晰的跟踪到项目中残留的todo数量,方便我们管理,记得删除系统自动创建的//todo语句
    android自用规范二:编码风格篇_第4张图片
    todo列表

  • 用好书签
    有时候我们在修改代码的时候,会遇到在多个资源文件,类之间的跳转,这个时候我们就可以用书签标注好要定位的行

    android自用规范二:编码风格篇_第5张图片
    书签快捷方式

    使用f11在当前行加上书签,使用shift+f11弹出全部书签列表

android自用规范二:编码风格篇_第6张图片
全部书签,右侧可以预览
  • 用好条件断点
    如何只要特定情况下的断点调试呢?,右键断点打开条件窗口,设置命中条件,点击确定就OK
android自用规范二:编码风格篇_第7张图片
只有在true情况下命中断点

你可能感兴趣的:(android自用规范二:编码风格篇)