mcpField
C
code-reviewer

code-reviewer

github.com/farmage测试与质量218369 次安装5 周前更新
代码仓库

关于 code-reviewer

面向审查 Pull Request、代码审计和设计决策的工程师代码审查技能。它按流程检查架构、实现、安全性和测试,并按优先级组织反馈。

主要功能

  1. 01审查前概述变更意图
  2. 02评估架构与设计选择
  3. 03检查质量、安全性和性能
  4. 04审查测试覆盖与边界情况
  5. 05按优先级整理可执行反馈

适用场景

  1. 01合并前审查 Pull Request
  2. 02审计代码中的安全问题
  3. 03寻找重构机会
  4. 04评估测试覆盖率与质量

安装

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

$npx skills add https://github.com/farmage/opencode-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 步发现严重问题,请立即指出,不要等到最后。

处理分歧: 如果作者留下了评论,解释某个不明显的选择,请先认可其理由,再提出替代方案。如果已配置代码检查工具或格式化工具,切勿因风格偏好而阻止合并。

参考指南

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

主题参考资料加载时机
审查清单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 为基准)
不得
  • 居高临下或出言不逊
  • 在已有代码检查工具时挑剔风格
  • 因个人偏好而阻止合并
  • 要求尽善尽美
  • 在不了解原因的情况下进行审查
  • 忽略对优秀工作的肯定

输出模板

代码审查报告必须包含:

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

知识参考

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

文档

评论

支持 Markdown