用途
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 分:
- Fitness for Purpose(适用性):是否解决实际问题,包括功能需求、用户需求与未来考虑。
- Justified Complexity(复杂度合理性):是否存在不必要的抽象、死代码、臃肿,以及行数对比。
- Readability(可读性):是否能在 5 分钟内理解核心流程,统计违规项如单字母变量、超过 50 行的函数、超过 3 层嵌套、魔法数字、糟糕函数名。
- Robustness & Scale(健壮性与规模):输入验证、外部调用错误处理、错误信息、空值处理、异步超时、无界循环、复杂度、内存、分页、阻塞 I/O、退避重试、10 倍负载等。
- 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、无错误恢复。
- 资料未提供具体安装命令、价格、平台或效果信息。