遗留代码 - 何时继续前进

时间:2010-03-21 01:34:38

标签: legacy

我的团队并支持大量遗留应用程序,所有这些应用程序目前都在运行,但在支持和维护方面存在问题。它们都依赖于编译器制造商正式不支持的代码。

所以问题是我们应该按原样保留代码,并冒新的编译器破坏我们的代码,或者我们应该咬紧牙关并更新所有代码?

4 个答案:

答案 0 :(得分:3)

答案完全取决于您的雇主(或您自己)能够承担进行重构的资源(甚至完全重写大部分资源)。

因此,您首先应该估计您可以负担多少时间/开发人员来重构应用程序,然后看看您是否认为它已经足够了。

如果您能负担得起时间和人员,那就去做吧,不要犹豫!您通过减少调试应用程序的时间来投资未来,这将有助于降低成本一旦重构完成。

答案 1 :(得分:1)

这取决于应用程序的性质,它们有多大和重要,以及您工作场所的编程文化以及可用资源。

如果应用程序对您而言足够有价值,并且您拥有必要的资源,那么请进行更新。不要让问题持续存在。

如果它们的价值不足以值得全面更新,或者没有适当的资源,可能会在可能的情况下一次更新一个。

只是一些建议,但这又取决于你和你的组织。

答案 2 :(得分:1)

听起来你有很大的技术债务。除非你做某事,否则这笔债务只会增加。你提到的两件事都是选择,风险很大,但从长远来看,这是你需要承担的风险。

使用更新的编译器意味着您需要更新代码以在新编译器中工作。有些东西必然会破裂,但随后会重构破碎的部分。这允许您迁移。

另一种选择是更新整个代码库。这需要时间,在此期间您需要维护2份代码,或冻结旧版本。冻结旧版本可能不是一种选择。

我建议使用更新的编译器并修复中断的内容。这允许您在重构和修复当前代码库的同时添加功能。

答案 3 :(得分:0)

为了您的公司,重写代码可能是一个有用的步骤,原因有很多:

  • 您可以使用新的编译器和更新的平台
  • 您可以重构代码,删除其弱点
  • 你可以激励你的员工,因为开发新代码比纠正旧代码更好。

为什么不从少数人开始这项活动,从代码的最常见部分开始?您可以将它们分组到一个dll中,并将其用于将来的项目。