---
name: business-code-review
description: SpecPow business-code-review skill
---

# 代码审查

> 对变更进行结构化代码审查，输出审查报告

## 触发条件

- 用户要求审查代码 / review
- SDD 引擎的审查阶段 - 提交 PR/MR 前

## 铁律

1. **不主观臆断** — 每个 Finding 必须有代码行号引用
2. **分级明确** — Critical / Major / Minor / Suggestion
3. **可操作** — 每个 Finding 附带修复建议
4. **不阻塞小问题** — Suggestion 不阻塞合并

## 审查维度

### 1. 规范合规性
- 命名规范（类名、方法名、变量名）
- 代码分层（Controller 不写业务逻辑）
- 注释完整性

### 2. 代码质量
- 重复代码
- 过长方法（>50 行）
- 过深嵌套（>3 层）
- 魔法数字

### 3. 安全性
- SQL 注入风险
- XSS 风险
- 敏感信息硬编码
- 权限校验缺失

### 4. 性能
- N+1 查询
- 大对象未分页
- 循环内数据库调用
- 未使用索引的查询

### 5. 测试
- 新增代码是否有测试
- 测试是否覆盖关键路径
- Mock 使用是否合理

## 输出格式

```markdown
# 代码审查报告

## 概要
- 审查范围: commit abc123..def456
- 文件数: 12
- 发现数: 5 (1 Critical, 2 Major, 2 Minor)

## 发现

### [Critical] SQL 注入风险
- 文件: `XxxMapper.java:45`
- 问题: 使用字符串拼接构建 SQL
- 建议: 使用参数化查询 #{param}

### [Major] 缺少事务注解
- 文件: `XxxServiceImpl.java:78`
- 问题: 多步数据库操作未加 @Transactional
- 建议: 添加 @Transactional(rollbackFor = Exception.class)
```

## 红旗

- 发现 Critical 级别问题 → 必须修复后才能合并
- 安全漏洞 → 立即通知负责人
