一、为什么需要重构?
1)旧系统的开发语言或框架不再维护和更新,一些由底层技术或框架引起的问题无法修复,特别是影响到核心功能。
2)老板、高层领导和业务方有各种各样的新需求,但因旧系统的技术受限而难以实现。
新业务或功能通过旧系统的技术和框架无法实现,或者开发起来难度较高,耗费时间较长。如果继续在旧系统开发可能无法达到预期,并且投入的成本会较高。
3)系统遇到性能瓶颈,因为旧系统的底层技术和框架问题,难以再进行优化。
像电商系统,当做促销活动时,如618、双十一等活动,并发量较大,超出了平时的流量甚至翻倍,那就可能导致系统无法承载。
这时候只能通过增加服务器来临时解决。要把问题从根源上解决除非能优化现有的代码,不然就只能通过重构来解决。
4)旧系统的功能需求和交互体验上不能满足用户的使用,甚至会导致用户降低工作效率。
5)有些公司在刚成立,或者刚开始启动一个新项目的时候,业务和产品缺乏体系化的规划。
为了尽快投入使用,追求快速、简单、高效的落地,经常在收到一个业务方需求的时候只是简单判断就开始设计并开发落地。
为了追求速度,没有在前期做好充足的准备,导致产品缺少足够的可扩展性,当用户需求在未来升级迭代的时候,现有的底层设计就没有办法跟上业务的发展。
最终导致重构的出现。这也是许多小公司不断做大后无法避免的,毕竟互联网时代都是小步快跑,在一开始无法面面俱到。
总结
其实总结起来主要是旧系统的技术和框架阻碍了业务的发展,特别是影响到业务部门的销售额、产能和工作效率等的因素。
所以这时候我们就需要通过重构,重新整理各个系统的功能和职责,用适合公司的新技术来搭建新的系统。
通过新的系统来满足各用户的需求,让业务跑得更快,提升各个岗位的工作效率。
虽然我们已经知道重构是势在必行,但也不能老板一拍板就立马去干,我们需要做足充分的准备和整体的规划,这样重构之路才会走得更顺畅。
那接下来就说说我们的准备工作。