1. 如何更好做 CodeReview
代码提交者的要求 | 小粒度原子性有注释工具检查 |
对代码 Review 者的要求 | 一看规范二看逻辑&性能三看设计 |
对团队的要求 | 温故而知新 |
2. 制定CodeReview CheckList
命名 | 变量名字类命名方法命名参数命名 |
代码长度 | 类长度不超过1000行方法长度不超过100行 |
条件嵌套 | 避免多个 If,循环语句嵌套避免判断条件过长 |
参数、返回值检查 | 参数个数建议不大于 3参数合法性判断(如判断 null ,容器长度等)返回值合法性判断(如判断 null,容器长度等) |
复用封装好的代码 | 接口是否有使用公共代码库,如 Kresource,Kcontent,KPackageManager等 |
注释 | 类、关键步骤,对外接口是否有注释 |
3. 看逻辑&性能
主线程逻辑检查 | 文件、联网等耗时操作避免在主线程执行 |
异常阈值检查 | 访问频率是否设置,是否有上限文件大小、个数是否有上限联网流量是否有上限 |
多线程问题 | 是否产生脏数据同步锁是否使用正确 |
内存泄露 | 资源 IO 流是否关闭图片资源是否回收列表的对象是否重用 |
IPC 检查 | 频繁 IPC 会导致卡顿 |
4. 设计
健壮性 | 边界条件检查容错处理 |
安全性 | 关键功能是否有权限校验机制(root 相关接口) |
单一职责 | 一个类只干一件事情 |
代码耦合 | 面向接口编程消灭重复代码开闭原则 |
5. CodeReview 要点
- 必备要素
- 代码规范
- 检视指南
- 执行要点
- 持续坚持
- 总结优化
- 激励机制
- 高质量发起
- 高效率 Review