2010-04-19 87 views
4

我是构建新的ASP.NET 3.5 Web应用程序的开发团队的一员。我们两个是C#编码器,另一个是VB.NET编码器。在Web应用程序中管理多种.NET语言

我知道,我们可以在每个项目的基础上混合语言,并且可以建立在从写在另一种语言在不同的项目中(我们已经做)的类继承的一个语言班,但我可以看到我们陷入了一种情况,那就是我们最终会在各种项目DLL之间产生循环依赖关系。

除了仅仅拥有大量项目(更多关注更多图书馆的问题)之外,您是如何在自己的项目上管理这种情况的?

注 - 我相信这个问题是从唯一的相似匹配足够的不同,我能找到(this one),我们不想为了充分利用其特定的功能本身的优势,使用不同语言的基础上,但而是利用开发人员资源可用的东西(即一个开发人员恰好只是VB.NET)。

回答

4

我说实话,我会让vb.net的家伙转移到C#。

迟早你会希望他在c#项目的一部分解决方案上工作。它是您在创建新语法时创建的人为障碍,相对比较简单。

大多数开发者都希望有机会转换到c#。

我最近参与了一家大公司决定从vb.net转到c#,我们发现这增加了士气,并且更容易找到合适的人选。

1

如果可能,我会避免这种情况。尝试给VB编码器提高他们的C#。它不一定是直接的,让他们现在编写VB直到他们适应C#,然后你可能想回去重构旧的VB到C#中。他们已经习惯了.NET库和工具,它主要是语法(但是,有一些语言差异)。

我建议这是为了将来的维护的原因 - 你将不得不维护和调试两种语言的代码。如果你们都知道所有的语言,那么这不是一个问题,但是你能确保永远这样吗?

3

如果您的店铺主要是C#,而且您确实希望您的项目得到开发,我会鼓励其他开发人员学习C#,而不是因为您的某个团队成员缺乏相关知识而损害您的项目。这不是要放弃你的其他团队成员,但是如果他/她对.NET有很好的掌握,那么这个人没有理由不能学习C#。

我们在我的公司有两种组合,但是,使用VB.Net的选择总是取决于我们是否将现有的VB6应用程序移植到.Net,在这种情况下,使用VB.Net是有意义的,因为更少的代码必须被重写(在大多数情况下)。但我们绝不会让开发人员的技能决定是否使用C#或VB.Net,我们会选择最适合工作的工具,而且这应始终是决策点。