Skills: 代码审查技能

最后更新:2026-08-31

代码审查是质量的第一道防线——一个优秀的审查 Skill 相当于给团队配了一个不知疲倦的高级审查员。


1. 审查维度设计

(1) 核心审查维度

维度 检查项 严重程度
安全性 SQL 注入、XSS、硬编码密钥、不安全依赖 🔴 关键
性能 N+1 查询、内存泄漏、不必要的循环 🟡 重要
可读性 命名规范、函数长度、注释充分性 🟢 建议
最佳实践 错误处理、SOLID 原则、DRY 🟡 重要
测试覆盖 单元测试、边界条件、异常路径 🟡 重要

(2) 语言特定维度

MARKDOWN
## Python 额外检查
- type hints 完整性
- docstring 格式(Google/NumPy 风格)
- f-string vs format/concat
- 异常捕获范围(避免 bare except)

## TypeScript 额外检查
- any 类型使用
- 类型断言合理性
- 接口定义完整性
- 可选属性标注

2. 审查流程设计

(1) 标准流程

TEXT 📖 仅展示
代码审查流程
├── 1. 收集变更
│   ├── 读取 git diff(变更文件列表)
│   └── 确定审查范围
├── 2. 逐文件审查
│   ├── Read 读取文件
│   ├── Grep 搜索关联上下文
│   └── 按维度逐一检查
├── 3. 输出报告
│   ├── 按严重程度排序
│   ├── 给出具体修改建议
│   └── 包含代码示例
└── 4. 总结评估
    ├── 整体评分
    └── 是否建议合并

(2) 增量审查 vs 全量审查

类型 范围 适用场景
增量审查 只审查变更部分 PR/MR 审查
全量审查 审查整个模块 新人代码审查、重构后验证

3. 审查报告格式

(1) 标准输出模板

MARKDOWN
## 代码审查报告

### 📊 总览
- 审查文件:3 个
- 发现问题:5 个(🔴 1 / 🟡 2 / 🟢 2)
- 整体评分:7/10
- 建议:⚠️ 修复关键问题后合并

### 🔴 关键问题

**[SEC-001] SQL 注入风险**
📍 位置:src/auth/login.py:42
📝 使用字符串拼接构建 SQL 查询
✅ 建议:
```python
query = "SELECT * FROM users WHERE name = ?"
cursor.execute(query, (username,))

🟡 重要问题

...

🟢 改进建议

...


### (2) 评分体系

```text
评分规则:
- 🔴 关键问题:每个 -3 分
- 🟡 重要问题:每个 -1 分
- 🟢 改进建议:每个 -0.5 分
- 基础分:10 分
- 最低分:0 分

合并建议:
- ≥ 8 分:✅ 建议合并
- 5-7 分:⚠️ 修复后合并
- < 5 分:❌ 不建议合并

4. 审查 Skill 实战

▶ 示例:全维度审查 Skill

Alice 为团队创建了标准化的审查 Skill:

YAML
---
name: full-review
description: "全维度代码审查"
triggers:
  - keyword: "full-review|全面审查"
tools:
  - Read
  - Grep
  - Glob
  - Bash
---
MARKDOWN
## 审查流程

1. Glob 确定审查文件范围
2. 对每个文件按维度检查:
   - 安全性:Grep 搜索危险模式
   - 性能:Read 分析算法复杂度
   - 可读性:检查命名和结构
   - 测试:确认测试覆盖
3. 汇总输出审查报告

Bob 评价:"标准化报告让审查结果一目了然——红灯必须修,黄灯看情况,绿灯锦上添花。"


❓ 常见问题

Q 审查太严格会不会拖慢开发?
A 会。建议分两档——PR 审查只检查安全性和关键逻辑,定期全量审查覆盖全部维度。
Q AI 审查能替代人工审查吗?
A 不能完全替代。AI 擅长模式匹配和安全扫描,人工擅长架构评审和业务逻辑判断。两者互补最好。
Q 如何避免审查报告太长?
A 设置严重程度过滤,默认只输出 🟡 及以上问题。🟢 建议可选输出。

📖 小节


📝 作业

  1. 基础题(难度⭐):创建一个安全审查 Skill,只检查 SQL 注入、XSS、硬编码密钥三项。
  2. 进阶题(难度⭐⭐):创建一个全维度审查 Skill,输出标准格式的审查报告,包含评分和合并建议。
  3. 挑战题(难度⭐⭐⭐):创建一个增量审查 Skill,只审查 git diff 中的变更,并为不同语言自动调整审查维度。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏