如何更好做 CodeReview

1. 如何更好做 CodeReview

要求事项
代码提交者的要求小粒度原子性有注释工具检查
对代码 Review 者的要求一看规范二看逻辑&性能三看设计
对团队的要求温故而知新

2. 制定CodeReview CheckList

要求事项
命名变量名字类命名方法命名参数命名
代码长度类长度不超过1000行方法长度不超过100行
条件嵌套避免多个 If,循环语句嵌套避免判断条件过长
参数、返回值检查参数个数建议不大于 3参数合法性判断(如判断 null ,容器长度等)返回值合法性判断(如判断 null,容器长度等)
复用封装好的代码接口是否有使用公共代码库,如 Kresource,Kcontent,KPackageManager等
注释类、关键步骤,对外接口是否有注释

3. 看逻辑&性能

要求事项
主线程逻辑检查文件、联网等耗时操作避免在主线程执行
异常阈值检查访问频率是否设置,是否有上限文件大小、个数是否有上限联网流量是否有上限
多线程问题是否产生脏数据同步锁是否使用正确
内存泄露资源 IO 流是否关闭图片资源是否回收列表的对象是否重用
IPC 检查频繁 IPC 会导致卡顿

4. 设计

要求事项
健壮性边界条件检查容错处理
安全性关键功能是否有权限校验机制(root 相关接口)
单一职责一个类只干一件事情
代码耦合面向接口编程消灭重复代码开闭原则

5. CodeReview 要点

  • CodeReview 目的代码质量,增进交流,互相备份,技术氛围,文化传承
  • 如何做 CodeReview
    • 必备要素
      • 代码规范
      • 检视指南
    • 执行要点
      • 持续坚持
      • 总结优化
      • 激励机制
      • 高质量发起
      • 高效率 Review