2010-03-21 48 views
6

我的团队并支持大量遗留应用程序,所有这些应用程序当前都是功能性的,但有问题需要支持和维护。它们都依赖于编译器制造商正式不支持的代码。旧版代码 - 何时迁移

所以,问题是,我们应该离开代码IS,和风险新的编译器打破了我们的代码,还是应该咬紧牙关,更新所有的代码?

+4

如果你要保持它,我强烈建议拿起书修改代码的工作。非常好。 http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052 – TrueWill 2010-03-21 02:21:20

+0

我已经有这个 - 你是对的它是优秀的。 – Mmarquee 2010-03-21 07:43:51

回答

3

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

所以,你应该先估计你能有多少时间/开发能力重构的应用程序,然后看看你是否认为这将是足够的。

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

1

这取决于应用程序的性质,他们到底有多大的和重要的,以及在工作场所的文化节目,并提供给您的资源。

如果应用程序是不足以使你有价值,他们是值得的麻烦,你有必要的资源,然后做更新。不要让问题持续存在。

如果他们没有足够的有价值的,值得全面更新工作,或没有适当的资源在手,也许就在如果可能的话一次更新一个工作。

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

1

这听起来像你有一个很大的技术债务。除非你做点什么,否则这笔债务只会增加。你提到的两件事都是选择,并且有风险,但是长期来看,这是你需要承担的风险。

使用更新后的编译器意味着您需要更新代码以在新编译器中工作。有些东西肯定会破坏,但是会重构破坏的部分。这使您可以迁移。

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

我会推荐使用更新后的编译器并修复什么时候休息。这允许您添加功能,同时重构和修复当前代码库。

0

重写代码可以为你的公司的原因是多方面的有益的步骤:

  • 你可以使用一个新的编译器和更近的平台
  • 你可以重构代码删除其弱点
  • 你可以激励你的员工,因为开发新的代码比老的错误更好。

为什么不从少数人开始那个活动,从最常见的部分开始?你可以将它们组合成一个DLL,并将其用于未来的项目。