Open LinkXSystem opened 3 years ago
同时也发现其实重构的经验也异常难以套用。以目前经手的重构过的项目类型而言,项目如下:
动作编辑器
核心技术是 Electron + Node.js
核心问题是Node.js 入侵到 UI 层中,通讯协议层未统一抽象,动作文件缺乏版本定义
服务端项目
核心技术是 Node.js + Vue
核心问题是前后端混合开发,接口定义不清晰,调用链路过于复杂,一系列的历史遗留问题,中台化导致的拆分不完全。
上述的项目只能从核心技术是 Node.js 中找到共通点,但它们应用 Node.js 的方式也不相同,一个是服务端架构,一个是客户端架构。 因此在重构中只有按照重构的项目的原本的架构出发,通过它们的端应该具备的性质重新为它们划分新的系统架构,解决重构之前所分析处理的一系列问题。
突然想谈谈重构和系统设计的问题,为何呢?
其实从 2019 年 6 月开始,我便已经在负责项目重构的事情了。到今年的 12 月,我也还在负责项目的重构中,相较于去年而言,现在项目更复杂,涉及的相关人员更多,原负责人多数已经离职。
而这些项目的重构开始的方式,都是因为业务的拓展,人力,问题的排查难度等一系列因素导致成本不断才开始推动重构。但是重构的事项也并不如想象中那样顺利,哪怕你已经提前了解项目本身以及相关系统,并给出了对应的重构方案和影响范围,也难以保证在指定周期内完成。