---
name: code-review
description: 代码自检 — 提交 PR 前的系统性检查清单，减少 Checker 驳回率
origin: AI-Engineering
---

# 代码自检清单

## When to Activate

- 准备提交 PR 前
- 完成一个功能后
- Checker Agent 审查前的自我检查

## 使用方式

逐项检查以下 5 个维度。每项都要明确 **通过/不通过**。
如果有不确定的项，标记为 [?]，交给 Checker Agent 重点审查。

---

## 维度 1: 正确性 (P0)

- [ ] 代码逻辑符合 Plan 中的设计
- [ ] 边界条件已处理（空值、零值、负数、超大值）
- [ ] 错误路径已处理（网络超时、文件不存在、权限不足）
- [ ] 类型使用正确（没有隐式转换陷阱）
- [ ] 并发安全（如果涉及共享状态）

## 维度 2: 安全 (P0)

- [ ] 无硬编码凭据或密钥
- [ ] 用户输入已验证和清理（防 SQL 注入、XSS）
- [ ] 文件操作使用了安全路径（防路径遍历）
- [ ] 权限检查完整
- [ ] 敏感数据有脱敏处理

## 维度 3: 可读性 (P1)

- [ ] 函数不超过 50 行（CODE_STANDARDS 规则 3）
- [ ] 变量/函数命名能表达意图
- [ ] 复杂逻辑有注释解释 "为什么"（不是 "做了什么"）
- [ ] 无魔法数字（已提取为常量）
- [ ] 错误信息能定位问题（包含上下文）

## 维度 4: 一致性 (P2)

- [ ] 代码风格与项目现有代码一致
- [ ] 依赖使用一致（不引入计划外的包）
- [ ] 错误处理模式一致（不混用 try-catch 和返回错误码）
- [ ] 日志格式一致

## 维度 5: 可维护性 (P2)

- [ ] 修改不影响现有功能（回归测试通过）
- [ ] 新增代码有对应的测试
- [ ] 配置可外部化（不硬编码配置值）
- [ ] 接口变更已更新调用方

---

## 快速判断

| 改动规模 | 最低检查要求 |
|---|---|
| < 10 行 | 维度 1 + 2 |
| 10-50 行 | 维度 1 + 2 + 3 |
| > 50 行 | 全部 5 个维度 |
| 安全相关 | 维度 2 必须逐项通过 |