主题
代码审查技能
按以下结构化流程进行代码审查:
审查清单
1. 安全性(关键)
- 注入漏洞:SQL 注入、命令注入、XSS
- 硬编码的凭据或密钥
- 缺少访问控制
- 日志或错误信息中泄露敏感数据
2. 正确性
- 逻辑错误、边界偏移、空值处理
- 并发代码中的竞态条件
- 资源泄漏(未关闭的文件、连接)
- 缺少错误处理路径
3. 性能
- 数据库调用中的 N+1 查询
- 异步代码中的阻塞操作
- 低效算法(能用 O(n) 却用了 O(n^2))
- 重复计算缺少缓存
4. 可维护性
- 命名是否清晰、一致
- 函数超过 50 行或嵌套超过 3 层
- 复制粘贴的重复代码
- 过时或缺失的注释
输出格式
markdown
## 代码审查: [文件/模块名]
### 概要
[1-2 句话总结]
### 严重问题
1. **[问题]**(第 X 行): [描述] -> [修复建议]
### 改进建议
1. **[建议]**: [描述]
### 结论
[ ] 可以合并 / [ ] 需要小改 / [ ] 需要大改