代码审查清单:我们团队 Code Review 都看什么
Code Review Checklist: What Our Team Actually Looks For
| Alex | 2026-09-01T20:38:14
Code Review 是提升代码质量最有效的手段,但如果没有明确的标准就容易变成走过场。分享一下我们团队的 Code Review 清单。
Code review is the most effective quality gate, but without clear standards it becomes a rubber stamp. Sharing our team's review checklist.
我们团队推行 Code Review 有两年了,一开始大家不知道该看什么,经常就是点个 Approve 就过了。后来整理了一份检查清单,Review 的质量才慢慢提上来。 必查项 1. 安全性 SQL 拼接有没有注入风险?是否使用了参数化查询? 用户输入有没有做过滤和转义? 敏感信息有没有出现在日志、注释或前端返回值里? 接口权限控制对不对? 2. 正确性 边界条件处理了吗?空值、空列表、最大值? 并发场景考虑了吗?多线程安全? 异常处理合理吗?有没有吞异常? 事务边界正确吗? 3. 性能 有没有循环里查数据库的 N+1 问题? 大数据量场景考虑了吗?分页、限流? 缓存用合理吗?会不会有缓存穿透/击穿? 建议项 4. 可读性 变量命名是否清晰表达了含义? 方法是否过长?(超过 50 行建议拆分) 逻辑是否过于复杂?(嵌套超过 3 层考虑重构) 5. 可维护性 有没有硬编码的魔法数字? 配置是否外部化了? 新加的代码是否和已有代码风格一致? Review 的态度 最重要的一条:Review 不是找茬,是一起学习。评论要具体、建设性,比如: ❌ "这段代码写得不好" ✅ "这里用 Stream API 可以简化,而且避免了中间变量" 对于风格偏好类的分歧(比如用不用 var、方法链式调用拆不拆行),统一用 linter 规则解决,不要在 Review 里争论。
After two years of code review practice, sharing our team's evolved checklist. Must-Check Security: SQL injection, input sanitization, sensitive data exposure, authorization Correctness: boundary conditions, concurrency, exception handling, transactions Performance: N+1 queries, pagination for large datasets, cache usage Recommended Readability (naming, method length, nesting depth) and maintainability (magic numbers, externalized config, code style consistency). Key principle: Reviews are collaborative learning, not fault-finding. Use specific, constructive comments. Style debates belong in linter rules.