实战 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 InjectionWHERE 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 中