实战 B3:Claude Code 深度审查与重构——五级 effort 对比与真实漏洞发现
实战教程系列 系列 B:B1 配置实战 | B2 日常开发 | B3 审查与重构 ← 本文 | B4 多 Agent | B5 大型项目
# Claude Code 深度审查
## 五级 Effort 对比
- low → ultra 效果差异
- 发现数量与深度
- 最佳性价比选择
## 安全审查
- OWASP 分类
- 真实漏洞发现
- 自动修复建议
## 组合重构
- /simplify 简化结构
- /code-review 确认等价
- 遗留代码现代化
案例 1:五级 effort 审查效果对比
用同一个 300 行的认证模块做 AB 对比:
| Effort | 发现问题 | Token | 耗时 | 价值 |
|---|---|---|---|---|
| low | 2 个(格式问题) | 3K | 8s | 低——只看到表面 |
| medium | 5 个(+3 个逻辑问题) | 12K | 30s | 中——够日常用 |
| high | 12 个(+边界条件、N+1 查询) | 35K | 2min | 高——推荐默认 |
| xhigh | 18 个(+并发安全、事务边界) | 80K | 5min | 很高——上线前必做 |
| ultra | 5 个 confirmed(多 Agent 交叉验证) | 250K | 15min | 极高但昂贵 |
结论:high 是日常审查的最佳性价比选择。xhigh 在上线前跑一次。ultra 只在核心安全模块使用。
案例 2:/security-review 发现真实漏洞
/security-review
在一个支付模块中发现:
- SQL Injection:
WHERE id = ${req.params.id}→ 参数化查询修复 - IDOR:任何用户可以通过修改 URL 中的 order ID 查看他人订单 → 添加所有权验证
- Race Condition:并发请求可导致余额为负 → 添加乐观锁
每个发现附带 OWASP 分类和修复代码。
案例 3:/simplify + /code-review 组合重构
/simplify ← 先简化代码结构
/code-review ← 再审查是否正确
这种组合特别适合接手遗留代码的场景——先让 Claude Code 把意大利面条简化成可读的形式,再审查简化过程中是否引入了逻辑变更。
重构前后对比
重构前(120 行): 重构后(75 行):
function processOrder... function processOrder(order, user) {
if (user) { validateAuth(user)
if (user.role...) { validateInventory(order)
... const total = calculateTotal(order)
嵌套 6 层的条件判断 applyDiscounts(order, user)
}
/simplify 提取了 4 个独立函数,/code-review 确认逻辑等价。
下一章:B4: Claude Code 多 Agent 编排实战
实操清单
- 对同一个模块分别用 low/medium/high effort 运行
/code-review,对比发现差异 - 上线前对核心模块运行
/code-review effort=xhigh - 对安全敏感的模块运行
/security-review - 用
/simplify简化一段遗留代码,再用/code-review确认逻辑等价 - 对他人 PR 运行
/code-review --comment发布 inline 评论 - 建立 effort 选择速查表,贴在团队 Wiki 中