Please enable Javascript to view the contents

如何更好做 CodeReview

 ·  ☕ 2 分钟

1. 如何更好做 CodeReview

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

2. 制定CodeReview CheckList

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

3. 看逻辑&性能

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

4. 设计

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

5. CodeReview 要点

  1. CodeReview 目的
    代码质量,增进交流,互相备份,技术氛围,文化传承

  2. 如何做 CodeReview

  • 必备要素
    • 代码规范
    • 检视指南
  • 执行要点
    • 持续坚持
    • 总结优化
    • 激励机制
    • 高质量发起
    • 高效率 Review

微信公众号
作者
微信公众号