用途:这是一个针对无文档遗留模块的审阅技能,供即将修改该模块的人使用,帮助在动手前弄清代码的真实行为。
主要能力:
- 逐个读取目标文件中的所有导出函数,不信任函数名或注释,追踪代码实际做了什么。
- 对每个分支和边界情况(空输入、负数、缺失字段、边界值)手工推演会发生什么。
- 编写一个简短的特征化脚本,用若干代表性输入和边界输入调用导出函数并打印结果,然后运行它。
- 输出平实语言的模块用途说明。
- 列出“出人意料”的行为:合理读者无法仅从函数名猜到的行为(舍入、静默钳制、边界处理不一致等),每条附上可复现的输入。
- 为每个导出函数给出一行风险评级:可安全修改/需先写特征化测试再改/无领域专家不可修改。
使用方式:将该技能用于目标遗留模块(资料提到可在修改 packages/legacy-invoice 或类似代码前使用)。技能会按上述步骤调查并报告,不修改目标文件。资料还指出,可参考 exercises/bonus-reverse-spec.md 将发现转化为特征化测试。
适用场景:修改缺乏文档、行为不明确的遗留代码之前;需要评估改动风险、识别隐藏边界行为时。
限制:该技能仅做调查,不修改目标文件;具体支持的文件类型、运行环境与集成方式暂未提供。