SuperAPI AI 工具集

behavior-preserving-simplification

测试与质量

查看项目

更新于 10-15 17:29

技能介绍

用途:在不改变调用方、用户、持久化数据和集成所能观察到的行为的前提下,让代码更简单。每次编辑都视为保持行为的变换,直到有证据证明并非如此。

主要能力与规则:先明确行为表面,包括公共 API、CLI 参数、线格式、数据库影响、文件、环境变量、测试断言的日志和用户可见 UI 状态。对不清晰或测试不足的行为,先建立特征化测试,锁定当前输出、副作用、顺序和错误情况。写下必须保持不变的不变量,既有领域不变量,也有幂等性、顺序、资源清理和并发假设等机械不变量。一次只做一个可逆变换,保持差异小到可审查和回滚。每步用最小相关测试命令验证,跨模块时扩大验证。不要将行为变更与简化混在一起,发现缺陷应单独记录。

使用方式(工作流):检查目标代码及其调用点,识别可观察契约、风险依赖和首个改动的最小安全范围;建立行为基线,运行现有测试并为未受保护行为补特征化测试;在工作笔记或最终报告中声明不变量;应用单一等价变换,如提取纯辅助函数、用共享路径替换重复分支、简化条件、重命名、把代码移到等价接口后;对比差异与不变量,去除无关改动;运行定向验证,失败则回滚最近变换或隔离差异;仅在下一步简化仍有明确价值且低风险时重复。

特征化测试与差异纪律:好的特征化测试描述当前系统实际做什么,覆盖成功路径、边界输入、已知怪异行为、失败模式和副作用。测试昂贵时可加窄范围测试装置。避免大范围格式化,保留名称、导出符号、错误文本和顺序,除非基线证明它们不属于契约。优先机械移动和提取,再做语义重写。

回滚与输出:每步都要有清晰回滚点;变换变乱就回退并选更小路径;基线太弱无法证明等价时,停止并报告缺失证据,不要凭直觉推进。最终报告行为基线、不变量、变更文件、验证命令和残余风险;若需回滚,说明回滚了什么及原因。限制:未提供具体语言、框架、命令或价格信息,故无法给出特定环境步骤。