【面试】重构现有产品的思路?

问题描述

现有一个线上产品,有几百万行代码,已经交付了很多的用户使用,现在面临一个问题,因为当初项目赶进度,欠下了很多技术债,现在开发一个小功能到上线成本很高,如果让你来对现有产品进行重构,同时保证已发布产品能正常升级,你会怎么做?

问题分析

  1. 架构腐烂,可维护性差
  2. 重构的同时保持线上正常运行

解答思路

架构选择

首先要捋清思路,确定理想的架构

架构拆解

进行架构分层:

  1. 最底层-核心框架、路由系统等
  2. 现有的业务组件复用改造
  3. 是否通过业务组件组合就能组成业务模块
  4. 多端展示处理-H5、移动端、PC等

线上运行与重构并行方案

可以考虑进行基础模块改造,同时要考虑好对外接口兼容

并行方案:

  1. 微前端-比如qiankun
  2. webpack模块联邦
  3. system.js加载新模块

小结

重构要做好计划,思路要清晰,目标要明确,要做好deadline,不然很可能就不了了之了。


【面试】重构现有产品的思路?
https://happydemoney.github.io/hexo-blog/2022/10/13/interview-restructure/
作者
Yaobing Qian
发布于
2022年10月13日
许可协议