【问题标题】:Any value gained in converting a legacy code base from VB to C#?将遗留代码库从 VB 转换为 C# 有何价值?
【发布时间】:2012-12-20 03:57:10
【问题描述】:

对该主题的快速搜索会产生以下文章:

This thread 在程序员堆栈交流中甚至提出了一些有趣和幽默的论点,但大多数都围绕文化、语法和学习能力。 This article made the "technical debt" argument for why they performed the conversion. 基本上每个人都想停止使用VB.NET。

我不希望由于上述任何原因而彻底改变遗留系统的代码库。然而,当前系统存在主要问题:性能差和大量逻辑错误。但这本身并不值得转换,不是吗?还应该注意的是,每种语言的开发人员都同样强大,因此这与问题无关。

将 65K 行代码从 VB 转换为 C# 是否有任何实质性好处,例如性能提升?

经过研究,我不相信转换会带来好处。

【问题讨论】:

  • 别这样。等到您需要重新编写应用程序,然后在 C# 中进行。
  • 为什么要将糟糕的 VB 代码转换为糟糕的 C# 代码...?无论语言如何,坏代码都是坏代码。
  • @aclear16,我同意。这就是我问这个问题的原因。真的有什么好处吗?
  • 我同意 dbaseman 的观点,任何收益可能充其量都是微不足道的,而且与所需的努力不成比例。
  • 从 VB(6) 升级到 VB.Net 或 C# 将帮助您有机会重新思考过去的假设并可能纠正主要问题。它还有助于确保产品未来的可维护性。很快 VB-Classic 开发人员就很难找到了。 (如果还没有的话)VB.Net 和 C# 之间的任何好处主要是语义。除了个人对语法的偏好之外,我想不出任何强有力的论据。

标签: c# vb.net performance migration legacy-code


【解决方案1】:

作为您在问题中链接的“技术债务”帖子的作者,我想说在您的情况下,将项目从 VB .NET 转换为 C# 可能不值得。

在我们的案例中,整个团队已经决定放弃 Visual Basic,并且已经开始使用 C# 编写系统的许多更新部分。我们都能够使用任何一种语言,但更喜欢 C#,并且讨厌在需要深入到代码的 VB 部分时必须记住将分号从每行末尾剪掉。 ;-)

正如我在帖子中所指出的,我曾经在之前的工作中决定不转换 VB .NET 项目,因为我觉得这对整个项目来说是不合理的成本。在这种情况下,代码一开始就不是很好,如果我们进行转换,就会产生“垃圾输入,垃圾输出”的效果。相反,我们专注于解决 VB .NET 的问题,结果证明这是我们花费时间和精力的更好方式。通过阅读您的问题,听起来您在同一条船上。您最好花时间解决现有代码库中的问题,而不是尝试转换它。

【讨论】:

  • 感谢您在文章和回答中提供的有用见解/建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多