向后兼容性与标准合规性?

时间:2009-02-20 07:40:24

标签: compatibility standards-compliance

假设您有一个需要维护的旧代码库,并且它显然不符合当前标准。在获得标准合规性的同时,您将如何分配您的努力以保持代码库向后兼容?什么对你重要?

2 个答案:

答案 0 :(得分:4)

在我的工作场所,我们没有时间重构事情只是因为它使代码更好。必须有来自客户的错误或功能请求。

根据该规则,我会执行以下操作:

当我重构时:

如果我必须对旧项目进行更改,我会清理,重构或重写我正在更改的部分。

因为我总是必须首先理解代码才能进行更改,这是进行其他更改的最佳时机。

此外,现在是添加缺失单元测试,更改和现有代码的好时机。

我总是首先进行重构然后进行更改,这样我就更有信心我的更改没有破坏任何内容。

优先级:

需要重构最多的代码部分,通常包含最多的错误。此外,我们不会收到客户不感兴趣的零件的任何错误报告或功能请求。因此,使用此方法可以自动进行优先级排序。

循环糟糕的设计:

我想有很多关于这方面的书籍,但这对我来说是最有帮助的:

我构建facades

  1. 外观采用新设计,可以“隔离”现有的不良代码。如果我必须编写新代码并且必须重用结构严重的现有代码,我会使用它,由于时间限制,我无法更改。
  2. 外观采用原始的糟糕设计,隐藏了新的优秀代码。如果我必须编写现有代码使用的新代码,我会使用它。
  3. 这些外观的主要目的是将好的代码与坏代码分开,从而限制依赖性和级联效应。

答案 1 :(得分:1)

我需要花时间来修复模块,因为我需要使用它们。一个前期的重写/重构不会在任何合理的公司中飞行,但是在没有清理它的情况下维持一个笨重的代码库几乎肯定是一场噩梦。