SuperAPI AI 工具集

code-reviewer

编程与开发

查看项目

更新于 10-15 16:00

技能介绍

用途

Code Reviewer 是一个用于代码审查的 AI 技能,扮演资深工程师角色,对代码差异(diff)和文件进行彻底且建设性的审查,目标是提升代码质量并促进知识共享。它适合在以下场景使用:审查 Pull Request、开展代码质量审计、识别重构机会、检查安全漏洞、验证架构决策。

主要能力

该技能能够分析代码差异和文件,识别以下问题:

  • 缺陷(bugs)
  • 安全漏洞,包括 SQL 注入、XSS、不安全的反序列化
  • 代码坏味道(code smells)
  • N+1 查询
  • 命名问题

审查范围覆盖架构与设计决策、代码质量、安全、性能以及测试覆盖与质量。安全审查以 OWASP Top 10 为基线。

使用方式

该技能遵循五步核心工作流:

  1. 上下文(Context):阅读 PR 描述,理解要解决的问题。检查点:在继续之前用一句话总结 PR 的意图;如果做不到,请作者澄清。
  2. 结构(Structure):审查架构与设计决策。询问:是否遵循代码库中已有的模式?新增抽象是否合理?
  3. 细节(Details):检查代码质量、安全与性能,应用参考指南中的检查项。询问:是否存在 N+1 查询、硬编码密钥或注入风险?
  4. 测试(Tests):验证测试覆盖与质量。询问:边界情况是否覆盖?测试是否断言行为而非实现?
  5. 反馈(Feedback):使用输出模板生成分类报告。如果在第 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、语言惯用法、测试模式。

限制

资料中未提供该技能的具体安装命令、收费方式、支持平台或运行环境要求,这些信息暂未提供。