程序员的三门课

《程序员的三门课》

第一篇——程序员技能与成长

code review

好处

  1. 提升团队代码质量
  2. 找出潜在 bug
  3. 保证代码风格统一
  4. 成员相互学习
    1. 编码习惯
    2. 设计模式
    3. 好用的 API
    4. 更加了解系统和业务

代码审查的好处不仅仅是代码审查本身,而是在于审查过程中产生的思考以及思考之间的碰撞。

如何做

要有审查清单

代码审查是可以标准化和流程化的。审查清单可以为代码审查提供一个标准,对着清单逐一检查,不仅可以在集中审查时快速找到问题,也可以方便开发者在开发阶段就可以照着清单自查。

审查清单的主要内容。

  1. 代码结构:
    1. 是否包含超长代码
    2. 代码嵌套是否过深
    3. 函数入参是否过多
    4. 循环是否有跳出点
    5. 是否存在代码复制
    6. 逻辑分支是否完善
  2. 代码安全性:
    1. I/O 是否正常关闭
    2. 资金计算是否使用 Double
    3. 是否有超大的临时对象
    4. 线程池大小是否合理
    5. 异常是否被忽略
    6. 是否有详细的日志
    7. 是否存在并发问题
    8. 参数是否做了必要的校验
    9. 远程服务的入参出参是否支持序列化
    10. 应用是否依赖了 SNAPSHOT 版本的类库
    11. 做删除时是否做了必要的权限或者合法性校验
  3. 代码性能:
    1. 是否有超长的 SQL
    2. SQL 是否有用到索引
    3. 是否有成熟的类库可以替换自己的实现
    4. 是否可以考虑单例模式
    5. 是否可以考虑线程池
    6. 是否可以考虑 NIO
    7. 是否可以进行锁优化
  4. 代码注释:
    1. 类和方法是否有注释
    2. 注释是否可以表达其准确含义
    3. 是否存在 FIXME,TODO 等注释
    4. 注释中是否包含边界值以及对异常情况的说明
  5. 单元测试:
    1. 代码是否具有可测试性
    2. 新代码是否有单元测试
    3. 单元测试是否可以覆盖所有场景
  6. 代码优化:
    1. 是否可以使用枚举代替自定义变量
    2. 是否包含魔法值
    3. 是否可以使用 Optional 代替 NPE 检查
    4. 是否可以使用 Stream 代码 for 循环
    5. 是否可以使用设计模式
  7. 其他:
    1. 代码逻辑是否正确
    2. 是否实现了业务功能
    3. 代码是否有好的可读性及可测试性

相对应得,可以针对前端设计一些对应的审查清单

posted @   季秀  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示