美文网首页编码习惯
android自用规范二:编码风格篇

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

作者: 紫阚 | 来源:发表于2016-05-10 15:43 被阅读170次

    原则上,编码风格我们遵循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<String> temp = new ArrayList(3);
    2. 善用android sdk提供的Util类,比如TextUtils,比如用ArrayMap替代HashMap,在hashMap的key是int类型的情况下,使用SparseArray代替HashMap
    下面是android Studio提供的功能,使用好,可以减少我们工作量

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

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


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

      系统自动高亮
      这样有什么好处呢?我们可以清晰的跟踪到项目中残留的todo数量,方便我们管理,记得删除系统自动创建的//todo语句
      todo列表
    • 用好书签
      有时候我们在修改代码的时候,会遇到在多个资源文件,类之间的跳转,这个时候我们就可以用书签标注好要定位的行

      书签快捷方式
      使用f11在当前行加上书签,使用shift+f11弹出全部书签列表
    全部书签,右侧可以预览
    • 用好条件断点
      如何只要特定情况下的断点调试呢?,右键断点打开条件窗口,设置命中条件,点击确定就OK
    只有在true情况下命中断点

    相关文章

      网友评论

        本文标题:android自用规范二:编码风格篇

        本文链接:https://www.haomeiwen.com/subject/pmlyrttx.html