先讲结论:

  1. 老系统是否可以精简?
  2. 如何重构才可以一步一步上线?

公司之前的项目是一个大杂烩,多个业务放在一个项目中,多个网站也是放在一起,因为总是有一些共用的数据,结果导致很多工程师同事在一个项目上开发,之前大家开开心心和和睦睦,平安无事,但是随着业务越来越复杂,问题出现了:

所以今年7月份,我们启动了核心项目的重构,整体来说就是拆服务,写 API,用 API。 今天我不讲整个过程是这么做的,我只分享重构前做的一些考虑,如果你也在做一些大的重构,希望这些考虑可以给你帮助。

一,老系统的业务是否可以精简或者删除?

项目重构可不单单只重构代码,这正是一个非常好的机会来重新梳理业务,可能你感觉业务跑的很顺,但是:

在重构的之前,技术人要完整的理解现有系统的结构,更重要的是要理解业务,尤其是要和第一线的业务人员进行沟通,了解他们的工作模式,了解他们的现有流程的一些困惑或难点。

了解清楚后,开始做减法,已经不需要的功能或流程要在老系统上进行精简或删除,可能你会问“我已经要重构了,为什么还需要在老系统上精简?“,因为你重构的系统还不知道什么时候上线呢,而且重构的系统再开发的时候需要参考老系统。

二,如何重构才能一步一步上线?

这一点是我考虑不足的地方,因为项目拉的比较长,时间预估方面也考虑不周,导致项目延期比较久。其中很重要的一个问题是:如何才能一步一步上线?

分步上线是把风险也分步,把风险分散开对一个成熟的业务非常关键。而且每一步都会给大家很多的信心,很清楚看到我们在前进,否则战线拉太长,大家都会觉得比较疲劳。

总体来说,这两点是在重构项目的时候大家都可以尝试考虑的问题,希望对你有帮助。