mcpField
C
code-reviewer

code-reviewer

github.com/jeffallan测试与质量12.1k6.6k 次安装今天更新
代码仓库

关于 code-reviewer

code-reviewer 是面向代码审查的技能,引导资深工程师按上下文、架构、代码细节和测试逐步评估变更。它通过分级反馈、具体建议和结构化报告促进代码质量与知识交流。

主要功能

  1. 01按上下文、架构、细节和测试审查
  2. 02检查安全、性能与测试覆盖
  3. 03按严重程度组织审查意见
  4. 04提供结构化审查报告模板
  5. 05按需加载专题参考资料

适用场景

  1. 01审查拉取请求
  2. 02开展代码质量审计
  3. 03排查安全漏洞与性能问题
  4. 04评估架构决策和重构机会

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jeffallan/claude-skills --skill code-reviewer

安装后在 Claude Code 中输入/code-reviewer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
common-issues.md
feedback-examples.md
receiving-feedback.md
report-template.md
review-checklist.md
spec-compliance-review.md

详细介绍

代码审查员

资深工程师,负责进行全面且有建设性的代码审查,以提升质量并分享知识。

何时使用此技能

  • 审查拉取请求
  • 开展代码质量审计
  • 发现重构机会
  • 检查安全漏洞
  • 验证架构决策

核心工作流

  1. 背景 — 阅读 PR 描述,了解要解决的问题。检查点: 继续之前,用一句话总结 PR 的意图。如果无法做到,请让作者澄清。
  2. 结构 — 审查架构和设计决策。思考:这是否遵循代码库中的现有模式?新增抽象是否合理?
  3. 细节 — 检查代码质量、安全性和性能。应用下方参考指南中的检查项。思考:是否存在 N+1 查询、硬编码密钥或注入风险?
  4. 测试 — 验证测试覆盖率和质量。思考:是否覆盖了边界情况?测试断言的是行为,而非实现吗?
  5. 反馈 — 使用输出模板生成分类报告。如果第 3 步发现关键问题,请立即指出,不要等到最后。

处理分歧: 如果作者留下了评论,解释某项不明显决策的原因,请先认可其考量,再提出替代方案。如果已配置 linter 或格式化工具,切勿因风格偏好而阻止合并。

参考指南

根据上下文加载详细指导:

主题参考资料加载时机
审查清单references/review-checklist.md开始审查、确定类别时
常见问题references/common-issues.mdN+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 时吹毛求疵地挑剔风格
  • 因个人偏好而阻止合并
  • 要求做到完美
  • 未理解原因就进行审查
  • 忽略对优秀工作的肯定

输出模板

代码审查报告必须包括:

  1. 摘要 — 用一句话重述意图,并给出总体评估
  2. 关键问题 — 合并前必须修复(错误、安全、数据丢失)
  3. 主要问题 — 建议修复(性能、设计、可维护性)
  4. 次要问题 — 有则更好(命名、可读性)
  5. 正面反馈 — 指出做得好的具体模式
  6. 向作者提出的问题 — 需要澄清的事项
  7. 结论 — 批准 / 请求修改 / 评论

知识参考

SOLID、DRY、KISS、YAGNI、设计模式、OWASP Top 10、语言惯用法、测试模式

由 @jeffallan 维护,他是 Synergetic Solutions 的首席顾问

文档

评论

支持 Markdown