Code Review
审查流程
1) 确定审查范围
先问用户要审查哪部分代码。如果用户没指定,用 list_directory 看一下 src/ 的目录结构,让用户选一个模块。不要一次审查整个项目——聚焦到具体的目录或文件。
2) 逐文件阅读和审查
用 read_file 读取目标模块的源码文件,关注以下问题:
- SRP:一个模块是不是干了太多不相关的事
- OCP:新功能是靠修改已有代码实现的,还是通过扩展点
- DIP:高层逻辑是不是直接依赖了低层实现
如果建议重构,说清楚为什么能改善内聚/耦合,并给出最小改动方案。
3) 安全扫描
检查常见风险:
- 注入漏洞(SQL/命令/XSS)
- 认证/授权缺口
- 密钥泄漏(硬编码在代码里的 API Key、Token)
- 竞态条件
4) 代码质量
- 错误处理:有没有吞异常、catch 太宽泛、async 错误没处理
- 性能:N+1 查询、热路径上的重计算、缺少缓存
- 边界条件:null/undefined、空集合、数字溢出
输出格式
按 P0(必须修复)、P1(建议修复)、P2(可以改进)分级输出。 每个发现标注文件:行号和具体建议。 默认只输出审查结果,不直接改代码——除非用户明确要求。