SuperAPI AI 工具集

legacy-code-safety

通用与其它

查看项目

更新于 10-16 02:29

技能介绍

用途:在修改、删除或重构缺乏测试覆盖的代码时,提供一套降低风险的操作流程,避免在无安全网的情况下破坏既有行为。

主要能力:提出“先加测试,再改代码”的原则;给出面向遗留代码的 RGR 工作流(写应通过的测试、验证通过、再在安全网下重构),区别于面向新功能的 TDD;介绍特征测试(characterization testing)步骤,用于捕捉代码当前真实行为而非理想行为;说明绞杀榕(Strangler Fig)模式,用新接口包裹遗留代码、逐步迁移并最终移除;列出修改前检查清单与常见风险信号;指出动态语言比静态语言风险更高。

使用方式:识别被测代码的输入与行为,为其编写特征测试,运行 npm test 等命令确认测试通过,然后再进行改动,改动后再次运行测试并补充新行为测试。可用覆盖率工具定位未测试代码,如 npm test -- --coverage、pytest --cov=mypackage、go test -cover ./...;也可用变异测试工具如 Stryker、mutmut 验证测试有效性。

适用场景:删除无测试的代码、修改未覆盖函数、重构未测试模块、在遗留系统中变更行为、接触覆盖率低于 80% 的代码,或接手他人遗留代码。

限制:该技能不提供具体收费、平台或效果数据;资料中未给出官方托管或安装信息,暂未提供。