SuperAPI AI 工具集

judge

测试与质量

查看项目

更新于 10-15 09:29

技能介绍

用途

Judge 是 test-kitchen 中 cookoff 与 omakase-off 流程使用的评分框架,在 Phase 4 被调用,用于评估实现(implementation)。它不应被直接调用。

该技能中的“impl”同时适用于两种场景:

  • Cookoff:impl-1、impl-2、impl-3,即同一设计下的不同实现。
  • Omakase:variant-a、variant-b,即不同方法或设计。

主要能力

Judge 使用 5 项标准对实现进行评分,每项 1-5 分,总分 25 分:

  1. Fitness for Purpose(适用性):是否解决实际问题,包括功能需求、用户需求与未来考虑。
  2. Justified Complexity(复杂度合理性):是否存在不必要的抽象、死代码、臃肿,以及行数对比。
  3. Readability(可读性):是否能在 5 分钟内理解核心流程,统计违规项如单字母变量、超过 50 行的函数、超过 3 层嵌套、魔法数字、糟糕函数名。
  4. Robustness & Scale(健壮性与规模):输入验证、外部调用错误处理、错误信息、空值处理、异步超时、无界循环、复杂度、内存、分页、阻塞 I/O、退避重试、10 倍负载等。
  5. Maintainability(可维护性):单一职责、显式依赖、业务逻辑与基础设施分离、新功能改动文件数、配置外置、测试回归。

使用方式

Judge 要求输出固定结构,不得总结或缩写:

  • Gate Check 表格:列出每个 impl 的测试通过情况与设计遵循情况。
  • Feasibility Check:列出每个 impl 的状态与备注。
  • Scoring Worksheet:对每个 impl 逐项填写评分工作表,包括检查清单、违规统计、分数。
  • Judge Scorecard:汇总各 impl 在 5 项标准上的得分与总分。
  • Hard Gates:检查 Fitness Gate(Δ ≥ 2)与 Critical Flaw(任一标准 = 1)。
  • Winner Selection:宣布获胜者、选择理由与权衡说明。

评分只能使用整数 1-5,不得使用 4.5 等半点分数。必须填写每个复选框,不得省略工作表。

适用场景

  • Cookoff:同一设计下多个实现的横向对比。
  • Omakase:不同方法或设计之间的对比。

限制

  • 不应直接调用,应在 Phase 4 被调用。
  • 评分依赖已存在于上下文中的实现代码。
  • 硬性门槛会自动触发:Fitness Δ ≥ 2 时较高适用性直接获胜;任一标准 = 1 时该 impl 被淘汰。
  • 可行性红旗包括:无界数据上的 O(n²) 或更差、无界内存增长、自我 DDoS 模式(轮询、无退避)、缺少分页、热路径阻塞 I/O、无错误恢复。
  • 资料未提供具体安装命令、价格、平台或效果信息。