代码审查基础
审查用户指出的变更。如果用户未指定,则审查当前分支与其基础分支的差异:
- 寻找基础分支:依次尝试
git merge-base HEAD origin/main、origin/master、origin/develop。如果都不存在,则审查未提交的变更(git diff HEAD)。 - 阅读完整差异,然后对任何无法仅从差异判断的变更,打开周围的代码。
检查清单
逐一检查每个项目。只报告真正有发现的问题。
正确性
- 代码是否实现了变更的意图?检查是否存在差一错误、错误的条件、未处理的
None/null 以及被吞没的异常。 - 是否处理了边界情况:空输入、超大规模输入、并发调用、重试?
测试
- 每个行为变更是否都有对应的测试,且该测试在没有变更时会失败?
- 测试是否检查行为,而非实现细节?
可读性
- 命名是否准确?新加入的成员能否一眼看懂?
- 是否遗留了死代码、调试输出或注释掉的代码?
安全(基础)
- 代码、配置或日志中不含机密、令牌或凭据。
- 用户输入经过验证,查询使用参数化,绝不通过字符串拼接构建。
一致性
- 是否遵循 CLAUDE.md 和周围代码中的约定?
输出
按严重程度分组问题:
- 必须修复:缺陷、安全问题、高风险逻辑缺少测试。
- 应该修复:可维护性问题,日后将耗费时间。
- 建议改进:可选的优化。请保持少量。
对于每个发现,给出 文件:行号、问题描述以及具体的修复建议。最后以一行结论结束:可合并、修复必须修复项后可合并 或 需要再次审查。如果某一类别中没有发现任何问题,则省略该类别。不要为了填补空间而编造问题。
Pro 版本新增完整的安全、性能、可访问性和 API 设计检查清单,以及一个
/review命令,可根据差异自动选择正确的检查项。