重构:为什么要重构 ,原因 ,目标 契机

https://xianjing.github.io/2016/02/01/refactoring/

https://www.infoq.cn/article/cebfobzp21aqv4eaydeq

https://developer.aliyun.com/article/428086

迁移

迁移最佳实践

https://frontendmastery.com/posts/frontend-migration-guide/

作为一个有几年经验的前端,你应该多少都有经历过涉及迁移的项目,可能是框架的迁移(比如从 Vue 到 React),可能是工具或者库的迁移。引入新的更有效率的东西长期看可以改善代码环境和提高工作幸福度,但迁移过程往往是痛苦的。你可能会遇到没写注释没写测试的边界场景代码,你的项目在迁移过程中可能无法承接新的需求,或者可能由于优先级的原因迁移一半之后被停掉。

文中介绍了几种迁移时可以考虑的策略。第一个维度是大爆炸式 vs. 渐进式。大爆炸式是一次性完成更新,好处是可以避免长时间的过渡性状态,缺点是风险较高;渐进式是长期的,优缺点和前者相反,但要注意别长期出于过渡状态里。

渐进式也有两个选择,由上到下和由下到上。由上到下指先迁移外壳然后再一层层地迁移路由层;由下到上是指先从最下面的原子组件和路由迁移做起,最后迁移外壳。通常来说,由上到下会更合适,一开始比较困难,后面会变得简单。

迁移过程是痛苦的,通过一些策略可以减少这种痛苦。包括拆分里程碑、对外获得对迁移计划的支持、跟踪进度、投入时间到 codemod 等自动化工具中、通过 eslint 规则强制执行规则、文档,等等。

改造和优化 看一病 ,做小手术

重构 做大手术

迁移:不要走 数据迁移 ,服务迁移

从质变到量化