SuperAPI AI 工具集

code-review

编程与开发

查看项目

更新于 10-15 14:24

技能介绍

用途

code-review 是一个架构级代码审查技能,面向游戏开发项目,用于对指定文件或系统进行系统性评审。它关注编码标准、SOLID 原则、可测试性、性能隐患,并结合项目的架构决策记录(ADR)与引擎特性给出结构化结论。

主要能力

  • 输入完整性检查:在生成任何报告前,先列出该技能需要读取的输入(数据文件、既有报告、性能分析输出、测试结果、注册表、源代码等),逐项记录 FOUND 或 ABSENT。若某章节所需输入缺失,该章节标记为 NOT ASSESSED — NO DATA,不做估算或推断。若全部必需输入缺失,整体结论即为 NOT ASSESSED — NO DATA,并说明缺失内容及应由哪个技能产出。
  • ADR 合规检查:按优先级从故事文件、实现文件头部注释、提交信息中查找 ADR 引用(如 ADR-NNNN 或 docs/architecture/adr-)。对每个引用的 ADR,仅按标题映射有界读取 ## Decision 与 ## Consequences 两节,并将偏差分类为 ARCHITECTURAL VIOLATION(阻断)、ADR DRIFT(警告)、MINOR DEVIATION(信息)。
  • 标准合规评估:识别系统类别(引擎、玩法、AI、网络、UI、工具),检查公共方法与类是否有文档注释、方法圈复杂度是否低于 10、方法是否不超过 40 行、依赖是否注入、配置是否从数据文件加载、系统是否暴露接口等。
  • 架构与 SOLID 分析:检查依赖方向、模块间循环依赖、层分离、跨系统通信方式、与既有模式的一致性;并逐项评估单一职责、开闭、里氏替换、接口隔离、依赖倒置。
  • 游戏专项检查:帧率无关性(delta time 使用)、热路径(更新循环)中是否分配内存、空/空状态处理、必要的线程安全、资源清理(无泄漏)。
  • 专家并行评审:通过 Agent 并行调用适用的引擎专家(主专家、语言/代码专家、着色器专家、UI 专家),并对逻辑与集成类故事并行调用 qa-tester 进行可测试性评审。每条专家发现都需记录文件与行号、证据(引用代码或触发输入/状态)、置信度(VERIFIED 或 UNVERIFIED — specialist claim),未经验证的发现不得提升为缺陷。
  • 结构化输出:报告包含引擎专家发现、可测试性、ADR 合规、标准合规、架构、SOLID、游戏专项问题、正面观察、必需修改、建议与最终裁决。裁决按优先级依次匹配:CHANGES REQUIRED、NOT ASSESSED、APPROVED WITH SUGGESTIONS、APPROVED。

使用方式

调用形式为 /code-review [file(s)],可选在最后附加故事文件路径,例如 /code-review Assets/Scripts/Combat/Attack.cs production/epics/combat/story-001.md。若提供故事路径,会读取其中引用的 ADR。技能为只读,不写入任何文件。审查完成后通过 AskUserQuestion 询问后续操作,选项随裁决不同而变化(如 APPROVED 时可运行 /story-done 或停止;CHANGES REQUIRED 时可修复后重跑或带例外继续;NOT ASSESSED 时可修复阻断项后重跑或停止)。若发现 ARCHITECTURAL VIOLATION,会建议修复实现以符合既有 ADR,或通过 /architecture-decision 正式修订 ADR。

适用场景

适用于游戏开发项目中对实现文件进行架构级评审,尤其适合需要结合引擎特性、ADR 与可测试性进行综合判断的场景。可覆盖引擎、玩法、AI、网络、UI、工具等系统类别。

限制

  • 若未配置引擎(project.yaml 中无 engine.name,且 technical-preferences.md 为 [TO BE CONFIGURED] 或缺失),则跳过引擎专家步骤,并在输出中记录 Engine validation: NOT ASSESSED — no engine configured。
  • 专家配置中 null、空值与缺失视为同一状态,均跳过对应专家。
  • 引用的 ADR 文件缺失或无法读取时,ADR 合规为 NOT ASSESSED;完全无 ADR 引用则为 NO ADRS FOUND,二者结果不同。
  • 未经验证的专家发现只能标记为未验证或丢弃,不得作为缺陷上报。
  • 该技能不写入文件,不执行代码修改。