SuperAPI AI 工具集

legacy-code-expert

测试与质量

查看项目

更新于 10-16 00:06

技能介绍

用途:在修改缺乏测试的遗留代码前做安全分析,产出一份改造方案,避免直接动生产代码。适用时机为在验证流程(TDD)之前,当目标代码没有测试、且依赖关系阻碍了测试编写时。\n\n主要能力:识别变更点(改动落在哪里)、梳理阻碍可测试性的依赖、寻找接缝(无需修改生产代码即可改变行为的位置)、选择最简单且影响最小的技术、规划特征测试以锁定当前行为(包含缺陷现状而非理想行为)、定义小而可回滚的转换步骤,最后交接给 verification-protocol 执行测试优先循环。\n\n接缝类型:对象接缝(多态、接口,适用于 Java、C#、Go、Ruby 等,如抽取接口、子类重写);预处理接缝(宏、条件编译,适用 C/C++,如 #ifdef TESTING 替换实现);链接接缝(链接器替换、模块替换,适用 C/C++ 及动态语言,如替换 .o 文件、monkey-patch 模块)。\n\n依赖拆解技术按接缝归类,优先使用列表中更靠前(更简单、侵入更小)的方法。对象接缝包括抽取接口、参数化构造器、参数化方法、抽取并重写调用/工厂方法/getter、子类重写方法、抽取实现者、拆出方法对象、适配参数、上拉特性、下推依赖、引入实例委托者。预处理与文本接缝包括模板重定义、文本重定义、定义补全。链接与全局接缝包括封装全局引用、用 getter 替换全局引用、引入静态 setter、用函数指针替换函数、链接替换、取代实例变量、基元化参数。\n\n输出格式:按“遗留代码分析”结构化输出,含变更点、阻碍测试的依赖、已识别接缝表、推荐技术(含步骤与风险)、特征测试、转换步骤,最后交接给 verification-protocol。\n\n准则与限制:安全优先于优雅,倾向更小更安全的改动;特征测试记录实际行为而非理想行为;目标是先让测试就位而非追求完美设计;若完整重写比增量修改更划算应直接说明;需为后续维护者记录推理过程。具体安装命令、调用语法及收费信息资料未提供。