[英]How to develop a standard (C# vs. VB.NET)
所以,我不希望它在C#和VB.NET开发人员之间陷入激烈的争斗。 这纯粹是从开发部门的角度出发。 我们多年来一直是VB.NET公司,但这主要归功于我们雇用的人。 由于我们吸引了2位专攻C#的人,因此这项要求最近已经不再适用了。 在转换为VB.NET之前,我曾经是一名C ++ / C#人。
因此,对于每个必须处理此问题的人来说,无论是在招聘基础上还是在可维护性基础上:您如何处理未来选择的标准化语言? 我倾向于推动C#,因为这将使3个坚实的C#开发人员在这里。 但只是好奇每个人对此的看法。
作为在混合商店工作的人,使用两者并不难。 但它有一个标准,可以更容易地来回移动代码。 以下是您的标准的一些想法:
对于VB开发人员:
Convert.To___()
函数,以便于转换到C#和从C#转换。 Option Strict
和Option Explicit
。 你会放弃一些动态类型的酷感,因为它是一个强烈的建议要求,但值得保持代码与C#平价。 AndAlso
和OrElse
And
和Or
对于C#开发人员:
SomeType sometype = ...
)。 告诉他们使用_前缀代替(而不是“m_”)。 无论如何你应该这样做,但它在混合商店中尤其重要,因为在VB中使用该代码将更难。 对彼此而言:
如果你这样做,两组代码之间几乎没有真正的区别,你已经迈出了教导VB开发人员像C#开发人员一样思考的第一步。
如果您有许多已经使用特定语言编写的代码,请选择该语言。
否则,如果你有更多的开发人员精通一种语言而不是另一种语言,那就更喜欢那种语言。
否则,更喜欢C#(它通常更受欢迎,而且功能方面它们没有足够的差别,只能对功能做出有意义的选择)。
在之前曾在VB中编写过任务关键型应用程序的客户端,他们开始发现找到VB程序员而不是C#更加困难。
所以他们决定开始将他们的应用程序切换到C#。
与大多数IT / Dev问题一样,答案取决于它。 如果您的部门中有更多人使用VB,那么请使用VB。 我不认为其中一个比另一个好得多。
你问的问题实际上非常重要,太多人会告诉你,语言选择只是个人偏好。 但是你已经知道,从组织的角度来看,这不是真的。 选择一套标准的框架,语言,工具等是一项重要的商业决策。
您的程序员应该能够使用任何一种语言,只需要一点时间,鼓励,也许可以进行一些培训。 C#和VB很接近,没有明显的技术理由可以选择其中一个...
所以我的建议是根据业务原因选择您组织的语言。 如果雇用C#人员更容易,或者如果你发现他们往往拥有更好的技能组合,你可以为C#获得一分。 如果您为客户编写代码,并且这些客户更喜欢C#可交付成果,那么为C#评分另一个。 如果VB中有现有代码,则为VB获得一分。
这应该是一个非常简单的细分......只是忽略技术原因,集中精力选择语言如何影响您的业务,包括招聘,培训,交付给客户的能力等。
如果有一个理由为您的公司采用C#,则它是lambda运算符。 如果没有VB.NET中lambda运算符的完全支持,一些最好的工具就会变成残缺或DOA。 例如:Fluent NHibernate,StructureMap等。
几年前,我们对c#进行了标准化,因为c#似乎在认真的开发人员中有更多的追随者。
让我明确一点,我并没有说任何关于VB.NET或者使用它的人。
这完全取决于您拥有的开发者池。
在纯粹的功能基础上,它们可以接近两种语言。 VB.NET倾向于获得更多的COM交互性并具有文字XML - 但C#很快就会得到一些。
这真的只是个人偏好,你认为团队最有成效的语言是什么。
听起来你已经有了一个标准 - VB.NET。 也许你很想进入C#而不是感兴趣。
将一半的系统用VB编写,一半用C#编写是没有意义的 - 尽管取决于组织的性质,这可能不适用。 但一般来说,组织不应轻易采取这些改变。
如果我是你(并且你有兴趣自己转向C#)那么我会推动C#,但如果我是公司,那么我需要一个很好的理由来介绍这种新的复杂性,成本和管理问题。
我们最近遇到了同样的问题。 我们实际上只是根据原始项目的开始编写代码。来回切换非常容易,特别是使用Visual Studio(当我开始输入“bool myvar ...”时,它总是“提醒”我如果我在.vb文件中,那么做错了。
我们的优先事项如下:
有充分的理由选择一个标准而不是另一个标准应该是指导因素。 使用这些:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.