前言

Github:https://github.com/HealerJean

博客:http://blog.healerjean.com

CodeReview 是开发过程不可或缺的重要一环,如果将代码发布比作一个工厂的流水线,那么 CodeReview 就是流水线接近于重点的质检员,他要担负着对产品质量的保障工作,将“缺陷”从众多的“产品”中挑出,反向推动“生产方”改进生产质量

1、改善代码质量:通过 CodeReview 机制,可以让团队其他同学帮忙协助把关代码质量,发现代码中潜在的质量问题,并给出改进建议,从而推动团队整体代码代码质量的提升。

2、能够实现知识共享,统一认知CodeReview 过程是知识碰撞的过程,是学习别人的知识体系促进自我成长的过程,通过 CR 这样的过程能够将不同成长阶段的成员之间知识水位尽量拉齐,能够有效的提升团队编程的整体水平。

3、能够及时潜在安全和性能问题等:通过 CodeReview 能够及时发现代码中潜在的安全问题和性能问题,例如:SQL注入问题、方案安全漏洞问题、部分业务场景查询实现性能较差等问题。

关注点分类 关注点细分 核心关注点 常见问题
代码规范与质量 命名 变量命名、方法命名、类命名、包命名 命名拼写错误、命名与实际含义不符(超出或小于)、用词不准
注释 是否有注释、注释是否合理 通篇无注释、注释不准确  
日志打印 日志打印级别、日志打印参数、日志格式、异常打印、是否应该打印日志 日志打印级别误用、日志参数未打印、日志格式不规范、异常信息未打印、打印日志过多  
异常处理 异常是否抛出、是否规范的异常编码等 异常该抛出未抛、肆意的使用RuntimeException  
逻辑正确 业务逻辑是否正常 空指针问题、逻辑不正确等  
代码风格一致 代码风格与应用整体风格一致 代码风格不一致(如)  
代码复杂度 圈复杂度 大量嵌套if导致非常复杂等  
架构设计 关注分层 分层是否合理、是否存在跨层调用 分层混乱、跨层调用
关注扩展性 扩展适配 硬编码扩展性低  
业务域划分 业务域划分清晰 业务域划分混乱  
性能问题 慢SQL 索引设计、是否存在慢SQL语法 索引未设计、慢SQL用法如like %xxx语句等
缓存设计 添加缓存、是否存在缓存击穿问题 该加而未加缓存、缓存击穿问题等  
安全性问题 是否存在安全风险 文件上传验权、越权访问问题 文件上传未验权、越权访问数据等

ContactAuthor