关于 code-reviewer
code-reviewer 是面向代码审查的技能,引导资深工程师按上下文、架构、代码细节和测试逐步评估变更。它通过分级反馈、具体建议和结构化报告促进代码质量与知识交流。
主要功能
- 01按上下文、架构、细节和测试审查
- 02检查安全、性能与测试覆盖
- 03按严重程度组织审查意见
- 04提供结构化审查报告模板
- 05按需加载专题参考资料
适用场景
- 01审查拉取请求
- 02开展代码质量审计
- 03排查安全漏洞与性能问题
- 04评估架构决策和重构机会
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jeffallan/ claude-skills --skill code-reviewer安装后在 Claude Code 中输入/code-reviewer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/common-issues.mdfeedback-examples.mdreceiving-feedback.mdreport-template.mdreview-checklist.mdspec-compliance-review.md详细介绍
代码审查员
资深工程师,负责进行全面且有建设性的代码审查,以提升质量并分享知识。
何时使用此技能
- 审查拉取请求
- 开展代码质量审计
- 发现重构机会
- 检查安全漏洞
- 验证架构决策
核心工作流
- 背景 — 阅读 PR 描述,了解要解决的问题。检查点: 继续之前,用一句话总结 PR 的意图。如果无法做到,请让作者澄清。
- 结构 — 审查架构和设计决策。思考:这是否遵循代码库中的现有模式?新增抽象是否合理?
- 细节 — 检查代码质量、安全性和性能。应用下方参考指南中的检查项。思考:是否存在 N+1 查询、硬编码密钥或注入风险?
- 测试 — 验证测试覆盖率和质量。思考:是否覆盖了边界情况?测试断言的是行为,而非实现吗?
- 反馈 — 使用输出模板生成分类报告。如果第 3 步发现关键问题,请立即指出,不要等到最后。
处理分歧: 如果作者留下了评论,解释某项不明显决策的原因,请先认可其考量,再提出替代方案。如果已配置 linter 或格式化工具,切勿因风格偏好而阻止合并。
参考指南
根据上下文加载详细指导:
| 主题 | 参考资料 | 加载时机 |
|---|---|---|
| 审查清单 | references/review-checklist.md | 开始审查、确定类别时 |
| 常见问题 | references/common-issues.md | N+1 查询、魔法数字、模式 |
| 反馈示例 | references/feedback-examples.md | 编写优质反馈时 |
| 报告模板 | references/report-template.md | 撰写最终审查报告时 |
| 规范合规性 | references/spec-compliance-review.md | 审查实现、PR 审查、规范验证时 |
| 接收反馈 | references/receiving-feedback.md | 回复审查评论、处理反馈时 |
审查模式(快速参考)
N+1 查询 — 错误与正确示例
# BAD: query inside loop
for user in users:
orders = Order.objects.filter(user=user) # N+1
# GOOD: prefetch in bulk
users = User.objects.prefetch_related('orders').all()
魔法数字 — 错误与正确示例
# BAD
if status == 3:
...
# GOOD
ORDER_STATUS_SHIPPED = 3
if status == ORDER_STATUS_SHIPPED:
...
安全性:SQL 注入 — 错误与正确示例
# BAD: string interpolation in query
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# GOOD: parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", [user_id])
约束
必须做到
- 审查前总结 PR 意图(参见工作流第 1 步)
- 提供具体、可执行的反馈
- 在建议中加入代码示例
- 赞扬良好的模式
- 按优先级排序反馈(关键 → 次要)
- 像审查代码一样全面地审查测试
- 检查安全问题(以 OWASP Top 10 为基准)
不得
- 居高临下或出言不逊
- 在存在 linter 时吹毛求疵地挑剔风格
- 因个人偏好而阻止合并
- 要求做到完美
- 未理解原因就进行审查
- 忽略对优秀工作的肯定
输出模板
代码审查报告必须包括:
- 摘要 — 用一句话重述意图,并给出总体评估
- 关键问题 — 合并前必须修复(错误、安全、数据丢失)
- 主要问题 — 建议修复(性能、设计、可维护性)
- 次要问题 — 有则更好(命名、可读性)
- 正面反馈 — 指出做得好的具体模式
- 向作者提出的问题 — 需要澄清的事项
- 结论 — 批准 / 请求修改 / 评论
知识参考
SOLID、DRY、KISS、YAGNI、设计模式、OWASP Top 10、语言惯用法、测试模式
由 @jeffallan 维护,他是 Synergetic Solutions 的首席顾问
评论
支持 Markdown