“推倒重来”的讲究
这篇技术博客从一位同事的提问切入,讨论了遗留系统重构中“推倒重来”的诱惑与陷阱。作者通过自身经历指出,许多团队面对速度慢、错误多、架构混乱的“切肤之痛”时,倾向于彻底重做,但结果往往导致业务需同时操作多套系统,问题并未根除。 文章的核心观点是:这类IT系统的复杂度根源常不在技术本身,而在于其背后承载的、尚未理清的业务逻辑。系统与业务早已深度耦合,如同“心脏起搏器与人”的关系,而非简单的“车辆与人”。因此,草率的“推倒重来”往往不如清晰的“逐步改良”有效。作者提出的改良路径包括:确立清晰的未来架构蓝图、通过过渡接口层实现新旧模块对接、并按部就班地进行迁移。 文中强调,改造成功的关键在于拥有能深入理解业务逻辑的优秀人员,并以搭建“脚手架”的耐心进行渐进式重构。文章结尾推荐的《零年》一书,也从社会重建的视角呼应了“彻底推倒”之后面临的复杂性重建难题。