用途:该技能用于将过于复杂的功能规格拆解为若干更小规格,使每个规格对应代码量不超过约200行。适用场景包括:analyze-if-func-spec-too-complex 将某规格标记为 TOO COMPLEX;怀疑规格超过200行代码上限需预先拆分;规格捆绑了本应分离的多个行为、构造或关注点。若尚未执行过,须先使用 load-plain-reference 获取 ***plain 语法规则。
输入:待拆分功能规格,以及其所属的完整 .plain 文件。
工作流程:读取完整 .plain 文件(定义、实现要求及全部功能规格,含 requires 模块)以理解上下文;定位待拆分规格;分析其过于复杂的原因(多个独立行为捆绑、一次引入过多新构造、复杂分支或条件路径、横切关注点与核心功能混合、单个规格描述完整UI界面、跨多个实体的复杂数据转换);确定拆分边界,使每个结果规格独立有意义、自包含且不超200行;按时间顺序起草替换规格;验证功能完整性,替换规格合起来须覆盖原规格100%的功能,不丢失、不弱化、不隐含遗漏;对每个替换规格运行 analyze-if-func-spec-too-complex 确认未超限;运行一次 analyze-func-specs(包含全部替换规格及文件中所有既有规格及其 requires 链),该批处理分析器一次调用即报告全部冲突对,不要逐对循环,对每对冲突运行 resolve-spec-conflict,并重复 analyze-func-specs 直至结果为 COMPATIBLE;在文件中将原规格移除并在其位置按时间顺序插入替换规格;再次读取文件确认位置与语法正确。
拆分策略:一、分离不同行为(如创建、编辑、删除各自成规格);二、分离设置与行为(先建立构造,再定义行为);三、分离核心逻辑与横切关注点(错误处理、重试、缓存、分页、日志单独成规格);四、分离条件分支(不同模式或分支各自成规格);五、增量构建UI(先布局,再各交互元素)。
限制与注意:替换规格并入原规格位置,之前的规格保持不变;首个替换规格仅凭其上方规格即可理解,后续规格可引用前者行为;若原有验收测试,需重新分配到最合适的替换规格或改写。校验清单包括:原规格已移除、功能100%覆盖、每个替换规格不超200行、替换规格与既有规格及彼此之间无冲突、顺序正确、各自独立有意义、引用的概念均已定义、与语言无关、外部接口保持明确、验收测试已重新分配或改写。资料未提供该技能的具体安装方式与平台限制。