为什么不推荐在同一解决方案中混用VB.Net和C#?

时间:2013-03-29 15:46:02

标签: c# vb.net visual-studio

当我注意到下面有一个奇怪的评论时,我正在阅读this question

  

不确定问题是什么:您可以在一个解决方案中使用VB.NET和C#项目(尽管我不建议这样做)。

我这样做了很多,因为我们有传统的VB.Net代码,新代码是用C#编写的。这真的不推荐吗?为什么不呢?

6 个答案:

答案 0 :(得分:11)

除了在一个“解决方案”中使用两种语言增加复杂性之外,没有任何理由可以避免这种情况。

我认为您的方案(使用旧产品,但添加新功能)是在单个解决方案中使用这两种语言的正当理由。

答案 1 :(得分:8)

不推荐它的唯一原因是一致性。大多数开发人员在处理应用程序时更喜欢使用单一语言。使用单一语言也意味着您的开发人员只需要知道一种语言,而不是知道VB.NET和C#(即使两者非常相似)。

如果你需要混合传统的VB.NET和C#,没有理由不这样做。

答案 2 :(得分:4)

这是“使用您可以使用的最佳工具”。不推荐在项目中混合使用C#和VB (显然是“它不会编译”的原因),但是如果你觉得你的开发团队可以继续在VB中编写旧代码那就没有意义了使用C#更快,更易于维护。

过去几个月我们一直在我的办公室这样做(在类似的遗留代码情况下)并且还没有遇到任何重大问题(超出由于上下文切换而可能丢失的开发时间),我们已经通过使用我们都觉得更舒服的语言获得了令人难以置信的成就。

有关任务切换的更多信息here。从C#的舒适程度来看,我确实感觉每天看到的好处超过了偶尔不得不重新回到传统池中的成本。

答案 3 :(得分:0)

这只是个人选择的问题。如果您对这两种语言都感到满意,那么您肯定可以在同一解决方案中使用它们。

在解决方案中使用单一语言似乎很容易维护。因此它是首选。

答案 4 :(得分:0)

在解决方案中混合代码可以快速实现真正的混乱,它永远不清楚你从哪里调用什么方法,以保持它的美观。在单独的解决方案中开发,它将使您的项目更容易跟踪,并确保您不会混淆项目中的语言

答案 5 :(得分:0)

你为什么要那样做?如果您有遗留代码要使用的内容,则将该代码保存在自己的组件中,不要将其与新代码混合使用。不建议这样做,因为它不会促进“清洁代码”。它可以使您找到难以阅读和维护的解决方案。