Codex use case
执行代码迁移
在可控检查点逐步推进遗留技术栈迁移。
Difficulty 高级
Time horizon 1 小时
使用 Codex 梳理遗留系统与新技术栈之间的映射关系,按里程碑落实迁移,并在每次过渡前验证功能对等性。
最适合
- 从遗留技术栈迁移到现代技术栈,且需要更换框架、运行时、构建系统或平台惯例。
- 需要兼容层、分阶段过渡,并在每个迁移检查点进行明确验证的团队。
Contents
执行代码迁移
在可控检查点逐步推进遗留技术栈迁移。
使用 Codex 梳理遗留系统与新技术栈之间的映射关系,按里程碑落实迁移,并在每次过渡前验证功能对等性。
高级
1 小时
使用 Codex 梳理遗留系统与新技术栈之间的映射关系,按里程碑落实迁移,并在每次过渡前验证功能对等性。
高级
1 小时
最适合
- 从遗留技术栈迁移到现代技术栈,且需要更换框架、运行时、构建系统或平台惯例。
- 需要兼容层、分阶段过渡,并在每个迁移检查点进行明确验证的团队。
技能与插件
- 合并前,检查高风险迁移、依赖项变更和暴露面。
- 在每个迁移里程碑后逐一解决 CI 失败,不要把清理工作留到最后。
- 迁移涉及 ASP.NET Core 应用模型、`Program.cs`、中间件、测试、性能或版本升级时,请遵循针对具体框架的指导。
| Skill | Why use it |
|---|---|
| Security Best Practices | 合并前,检查高风险迁移、依赖项变更和暴露面。 |
| Gh Fix Ci | 在每个迁移里程碑后逐一解决 CI 失败,不要把清理工作留到最后。 |
| Aspnet Core | 迁移涉及 ASP.NET Core 应用模型、`Program.cs`、中间件、测试、性能或版本升级时,请遵循针对具体框架的指导。 |
入门提示
将此代码库从 [legacy stack or system] 迁移到 [target stack or system]。
要求:
- 首先清点遗留系统的各项假设:路由、数据模型、身份验证、配置、构建工具、测试、部署和外部契约。
- 建立旧技术栈到新技术栈的映射,并指出所有没有直接对应项的内容。
- 提出采用兼容层或检查点的增量迁移计划,而不是一次性大规模重写。
- 除非迁移明确要求做出用户可见的变更,否则保持行为不变。
- 按里程碑推进,并在每个里程碑后运行 lint、类型检查和针对性测试。
- 在过渡完成前,始终清晰列出回滚或后备方案。
- 如果验证失败,请先修复问题,再继续。
- 首先梳理迁移范围并提出检查点计划。
将此代码库从 [legacy stack or system] 迁移到 [target stack or system]。
要求:
- 首先清点遗留系统的各项假设:路由、数据模型、身份验证、配置、构建工具、测试、部署和外部契约。
- 建立旧技术栈到新技术栈的映射,并指出所有没有直接对应项的内容。
- 提出采用兼容层或检查点的增量迁移计划,而不是一次性大规模重写。
- 除非迁移明确要求做出用户可见的变更,否则保持行为不变。
- 按里程碑推进,并在每个里程碑后运行 lint、类型检查和针对性测试。
- 在过渡完成前,始终清晰列出回滚或后备方案。
- 如果验证失败,请先修复问题,再继续。
- 首先梳理迁移范围并提出检查点计划。
简介
从一个技术栈迁移到另一个技术栈时,您可以使用 Codex 梳理并执行受控迁移,涵盖路由、数据模型、配置、身份验证、后台作业、构建工具、部署、测试,甚至语言和框架的惯例本身。
Codex 在这里很有用,因为它可以清点遗留系统、将旧概念映射到新概念,并通过多个检查点逐步落地变更,而不是一次性完成大规模重写。在您弃用遗留框架、移植到新运行时,或必须在产品保持正常运行的同时用一个技术栈逐步替换另一个技术栈时,这一点尤为重要。
使用方法
- 首先清点迁移范围:遗留软件包、框架惯例、路由、数据访问、身份验证、配置、构建工具、测试、部署方面的假设,以及迁移后仍须保持的所有外部契约。
- 请让 Codex 将遗留概念映射到目标技术栈,并指出哪些内容没有直接对应项。
- 请选择一种增量策略:使用兼容层、逐模块移植、采用抽象分支,或采用绞杀者式替换,每次只处理一个边界。
- 除非迁移本身迫使您做出用户可见的变更,否则请保持行为稳定,并明确说明这些例外情况。
- 每个里程碑完成后,请执行能够证明功能对等性的最小范围验证:lint、类型检查、针对性测试、契约测试、冒烟测试,或与遗留路径进行并排对比检查。
- 请在每个检查点后审查差异以及仍未消除的过渡风险,不要等到整个重写完成后再审查。
使用 ExecPlans
在我们的 代码库现代化实践指南 中,我们介绍了 ExecPlans:这类文档可让 Codex 掌握清理工作的全貌,明确说明预期的最终状态,并记录每一轮完成后的验证结果。 当您让 Codex 执行复杂迁移时,请要求它为系统的每个部分创建一份 ExecPlan,确保每项决策和技术栈选择均有记录,供日后审查。
结合目标推进
对于耗时较长的分段迁移任务,请使用 目标 来引导 Codex 完成工作。设定目标时,请明确最终状态、功能对等性检查、回滚预期和停止条件。