2

我有一个有点老的项目,我称之为遗产。

它的一些特点是:

  1. 它是一个工作产品(大约 3 年),并且正在不断开发中。
  2. 代码库非常大,包括(CS、SQL、ASPX、Jayrock、JS/HTML/CSS 等)
  3. 平台是 .NET 1.1。
  4. IDE 是 Borland C# Builder 2006(什么...)。
  5. 其他工具是 Enterprise Core Objects 3 (for .NET 1.1) (Model Driven Architecture - O/RM from UML)。
  6. 此外还使用 Telerik RadControls。
  7. 主要是一位活跃的开发人员。
  8. 对业务对象进行了大量测试,但 UI(WebForms)根本不是可测试的 ATM(没有应用 MVP/MVC 等)。
  9. 我必须接受代码质量不是“最好的”并且仍然保持在“足够好”的标记上(所以这不是从头开始重写的主要原因)

这个项目的问题是:

  1. .NET 1.1 - 该平台不再“活跃”。
  2. IDE - 一直在苦苦挣扎。只是工作痛苦。糟糕的工具支持,任何重构基本上都是手工完成的。
  3. ECO3 框架 - 为迁移到 ECO5(以及因此 .NET 3.5)付出了很多努力。
  4. 从 ECO3 迁移到 NHibernate(最好)将花费更多时间(因为所有逻辑/测试都应该重写)。
  5. ECO3 严重依赖 IDE,因此仅更改 IDE 几乎是不可能的。
  6. 通常迁移到 .NET 3.5 会花费很多时间(尤其是对于 1 个开发人员而言)。

我想听听关于如何处理这个项目的任何建议/提示。
我应该继续在那种环境中工作吗?
如果不是,那么在几天内迁移整个项目的最佳方法是什么(几周内的延迟太长 ATM)。是的,我知道它会在以后得到回报,但我现在不能这样做。

一般欢迎任何建议。

干杯,
德米特里。

4

3 回答 3

3

我会以小步骤缓慢迁移和重构。我的建议依次是:

  • 迁移到“更好”的 IDE(你喜欢的——可能是 Visual Studio?)
  • 迁移到使用 .NET 3.5 功能。根据需要进行重构以利用新功能,例如泛型和 LINQ
  • 根据需要开始更新您的业务逻辑

除了更改 IDE 之外,其他所有事情都可以通过标准重构实践在代码库的一小部分上以非常小的步骤完成。不需要全部重写。

于 2009-08-10T00:27:20.807 回答
2

好吧,鉴于您的可用时间跨度,我建议您保留代码并使用它。但无论您要更改或制作新代码,请确保以最佳方式编写代码。

通常,当你这样做时,随着时间的推移,项目会变得更好,因为有时你可能会改变一些“脏”的部分,嘿,那是你代码中不那么“脏”的部分:)。从长远来看,您应该拥有更清晰、更好的编写代码。

至于 IDE 的变化,我倾向于同意 Martin。迁移到另一个应该不难。但我建议在你提到的第一个小时间跨度之后这样做(除非你是一个冒险的人)。

于 2009-08-10T00:17:30.003 回答
2

如果代码只有三年的历史,它还不是遗留的。每三年(甚至每五年)以不同的方式重做事情是 IMO 的浪费。

OTOH,应该可以用相对较少的努力用不同的IDE替换IDE。

于 2009-08-10T00:18:58.117 回答