如何对现有系统架构重构

请问下,我们现在项目,系统比较落后,代码也很老,快10年前的代码了,为了避免上线各种不可预知问题,现在新增功能的时候各种开关控制,导致现在代码非常乱,一个方法就有几千行,一个Java文件有2、3W行,就目前这情况,如何做架构拆分重构呢?

业务系统重构,就好比给一架高速飞行的喷气式飞机换引擎,
当前的业务要跑,架构问题也要解决,先梳理清楚当前的业
务,搞明白为何要重构,重构之后一段时间,会不会还是陷
入这种问题,千万不要为了重构而重构,实际上业务很难会
留出专门的时间给技术同学来进行技术重构,重构很多时候
都是在项目的实施过程中进行的,这对于平时的代码规范、
review机制的建立,也有很高的要求,一个系统可能经手过
很多人,铁打的营盘流水的兵,可能会留下很多历史问题,
作为系统的owner,建议可将团队分为两部分,一部分继续
维护之前的系统,而另外一部分同学开发和设计新的架构

当然,对于一个类有2-3w行的情况,除了拆分,没有其他办
法,至于具体如何拆,还得看具体的代码逻辑