Code-Review-Checklist

3 minIntermediate2026/6/14

代码审查清单、审查维度与最佳实践。

1. 代码审查概述

1.1 审查目标

目标说明
质量保障发现缺陷和设计问题
知识共享团队成员互相学习
标准统一确保编码规范一致
导师作用帮助新人成长

1.2 审查原则

原则说明
对事不对人评论代码而非评论人
及时反馈24小时内完成审查
建设性意见提出改进建议而非仅指出问题
尊重作者理解作者的思考过程

2. 审查清单

2.1 正确性

检查项说明
功能正确代码是否实现了需求
边界条件是否处理了边界情况
错误处理异常是否被正确处理
并发安全是否存在竞态条件
资源释放资源是否正确释放

2.2 可读性

检查项说明
命名规范变量/函数/命名是否清晰
代码结构逻辑是否清晰易懂
注释适当复杂逻辑是否有注释
函数长度函数是否过长(>30行)
嵌套深度嵌套是否过深(>3层)

2.3 可维护性

检查项说明
单一职责函数/是否只做一件事
重复代码是否存在重复逻辑
硬编码是否有魔法数字/字符串
耦合度模块间是否过度耦合
可扩展性新增功能是否需要大量修改

2.4 安全性

检查项说明
输入验证是否验证外部输入
SQL注入是否使用参数化查询
XSS是否转义用户输入
敏感数据是否泄露密钥/密码
权限控制是否检查访问权限

2.5 性能

检查项说明
N+1查询是否存在循环内查询
内存泄漏是否有大对象未释放
不必要计算是否有可避免的计算
缓存策略是否合理使用缓存
批量操作是否使用批量代替循环

2.6 测试

检查项说明
测试覆盖是否有对应测试
测试质量测试是否真正验证行为
边界测试是否测试了边界条件
Mock合理Mock是否合理

3. 审查流程

3.1 提交者准备

1. 自我审查代码
2. 编写清晰的PR描述
3. 关联相关Issue
4. 添加必要的截图/日志
5. 指定审查者

3.2 审查者执行

1. 理解PR的目标和背景
2. 从整体到细节审查
3. 记录问题和建议
4. 区分必须修改和建议改进
5. 及时完成审查

3.3 评论分

标记含义行动
MUST必须修改阻塞合并
SHOULD建议修改强烈建议
NICE可选改进作者决定
IDEA思考建议仅讨论

4. 常见反模式

反模式说明改进
橡皮不仔细看就批准认真审查每行代码
吹毛求疵只关注格式问题关注设计和逻辑
延迟审查拖延审查时间24小时内完成
对抗性评论攻击性语言建设性表达
过度设计要求过度抽象适度设计