【面试】重构现有产品的思路?
问题描述
现有一个线上产品,有几百万行代码,已经交付了很多的用户使用,现在面临一个问题,因为当初项目赶进度,欠下了很多技术债,现在开发一个小功能到上线成本很高,如果让你来对现有产品进行重构,同时保证已发布产品能正常升级,你会怎么做?
问题分析
- 架构腐烂,可维护性差
- 重构的同时保持线上正常运行
解答思路
架构选择
首先要捋清思路,确定理想的架构
架构拆解
进行架构分层:
- 最底层-核心框架、路由系统等
- 现有的业务组件复用改造
- 是否通过业务组件组合就能组成业务模块
- 多端展示处理-H5、移动端、PC等
线上运行与重构并行方案
可以考虑进行基础模块改造,同时要考虑好对外接口兼容
并行方案:
- 微前端-比如qiankun
- webpack模块联邦
- system.js加载新模块
小结
重构要做好计划,思路要清晰,目标要明确,要做好deadline,不然很可能就不了了之了。
【面试】重构现有产品的思路?
https://happydemoney.github.io/hexo-blog/2022/10/13/interview-restructure/