用途:管理代码与系统的弃用和迁移。当需要移除旧系统、API、库或不再需要的功能,将用户从旧实现迁移到新实现,或合并重复实现时使用。技能强调代码是负债,弃用从设计阶段就开始规划。
主要能力:
- 弃用决策清单:判断系统是否仍提供独特价值、有多少依赖者、是否已有替代品、每个使用方的迁移成本、以及不弃用的持续维护成本。
- 区分建议式弃用(迁移可选,旧系统稳定,用警告和文档提示)与强制弃用(旧系统有安全问题或阻碍进展,需设定硬截止日期并提供迁移工具)。默认建议式。
- 四步迁移流程:先构建经验证且覆盖关键用例的替代品;发布弃用通知与迁移指南;逐個使用方增量迁移;确认零活跃使用后再移除旧代码、测试、文档和配置。
- 迁移模式:Strangler 模式并行运行新旧系统并按流量逐步切换;适配器模式用旧接口封装新实现;特性开关按用户逐个切换。
- 识别僵尸代码:无负责人却有活跃使用方、长期无提交、测试持续失败、依赖存在已知漏洞等,需指派维护者或制定具体迁移计划。
- 常见合理化理由的反驳,如“还能用”“以后可能有人要”“迁移太贵”等。
关键原则:Hyrum 定律使移除困难,用户可能依赖未文档化的行为,因此弃用需要主动迁移而非仅发通知。Churn 规则:拥有被弃用基础设施的一方负责迁移用户或提供向后兼容更新。
限制与说明:本技能属于流程与方法论指导,未提供具体安装命令、运行环境或工具链要求;示例中的配置文件、导入路径和脚本命令仅为示范。资料未说明其收费、平台支持或与特定编程语言的绑定。