聂同学

一个程序员和架构师的实践与思考

给老爷爷系统(六):重构(二)

这是一个老爷爷系统。

还是一篇补记,主要讲讲为什么是重构而不是重写。

同事们喜欢重写系统,好多别的老爷爷老态龙钟之后都是被重写的。 我们选择重构不重写的原因主要有三点:

  • 代码具有高价值,是可用和满足需求的。重写就意味着要放弃这些价值。
  • 没有现成的需求。由于开发年代久远,人员流动,而用户也非常分散,没有人能告诉我们需求。 唯一可能的就是通读代码,反推出需求。这样做,无疑是成本高,风险大。
  • 能否解决代码系统腐化根源?这一点其实是我们考虑的重点。重写容易, 如何防止重写的系统再次变坏,却不是件简单的任务。 我们认为在重构代码的过程中,可以教育和锻炼团队,通过寻找让系统变好的方法,来掌握防止或缓解系统变坏的手段。 这样不仅让本系统的情况好转,也可以给其他正在或即将变坏的系统提供借鉴。

架构, 重构

分享 -