如何开发标准(C#与VB.NET)

Ste*_*ams 8 c# vb.net

所以,我不希望它在C#和VB.NET开发人员之间陷入激烈的争斗.这纯粹是从开发部门的角度出发.我们多年来一直是VB.NET公司,但这主要归功于我们雇用的人.由于我们已经吸引了2位专攻C#的人,因此这项要求已经不再适用了.在转换为VB.NET之前,我曾经是一名C++/C#人员.

因此,对于每个必须处理此问题的人来说,无论是在招聘基础上还是在可维护性基础上:您如何处理未来选择的标准化语言?我倾向于推动C#,因为这将使3个坚实的C#开发人员在这里.但只是好奇每个人对此的看法.

Joe*_*orn 15

作为在混合商店工作的人,使用两者并不难.但它有一个标准,可以更容易地来回移动代码.以下是您的标准的一些想法:

对于VB开发人员:

  • 在新代码中禁用旧的vb6样式函数.我在谈论字符串和其他函数(Len,InStr,Replace,UBound等).转换运算符(CInt,Cstr等)仍然可以,因为它们是语言运算符,但更喜欢Convert.To___()可能的函数,以便轻松转换到C#和从C#转换.
  • 要求Option StrictOption Explicit.你会放弃一些动态类型的酷感,因为它是一个强烈的建议要求,但值得保持代码与C#平价.
  • 标准化'+'与'&'进行字符串连接(如果你还没有使用StringBuilder)
  • 身高AndAlsoOrElse超过AndOr

对于C#开发人员:

  • 禁止仅按大小写区分的名称.这尤其包括与类型名称(SomeType sometype = ...)基本相同的名称.告诉他们使用_前缀代替(而不是"m_").无论如何你应该这样做,但它在混合商店中尤其重要,因为在VB中使用该代码将更难.

对彼此而言:

  • 禁止ArrayLists和其他非泛型集合(因为它们不仅无论如何都是邪恶的,但VB和C#处理所有必需的转换非常不同,即使选项严格要求CType)

如果你这样做,两组代码之间几乎没有真正的区别,你已经迈出了教导VB开发人员像C#开发人员一样思考的第一步.


Pav*_*aev 9

如果您有许多已经使用特定语言编写的代码,请选择该语言.

否则,如果你有更多的开发人员精通一种语言而不是另一种语言,那就更喜欢那种语言.

否则,更喜欢C#(它通常更受欢迎,而且功能方面它们没有足够的差别,只能对功能做出有意义的选择).


Jac*_*tti 8

在之前曾在VB中编写过任务关键型应用程序的客户端,他们开始发现找到VB程序员而不是C#更加困难.

所以他们决定开始将他们的应用程序切换到C#.

与大多数IT/Dev问题一样,答案取决于它.如果您的部门中有更多人使用VB,那么请使用VB.我不认为其中一个比另一个好得多.

  • 究竟.这一切都使用相同的库来编译到CLR..NET中的语言本身只是语法糖. (3认同)

Ste*_*edd 5

你问的问题实际上非常重要,太多人会告诉你,语言选择只是个人偏好.但是你已经知道,从组织的角度来看,这不是真的.选择一套标准的框架,语言,工具等是一项重要的商业决策.

您的程序员应该能够使用任何一种语言,只需要一点时间,鼓励,也许可以进行一些培训.C#和VB很接近,没有明显的技术理由选择其中一个...

所以我的建议是根据业务原因选择您组织的语言.如果雇用C#人员更容易,或者如果你发现他们往往拥有更好的技能组合,你可以为C#获得一分.如果您为客户编写代码,并且这些客户更喜欢C#可交付成果,那么为C#评分另一个.如果VB中有现有代码,则为VB获得一分.

这应该是一个非常简单的故障......不理会技术上的原因,并专注于如何语言的选择会影响您的企业在雇用,培训方面,才能交付给客户等.


Chr*_*sic 5

如果有一个理由为您的公司采用C#,则它是lambda运算符.如果没有VB.NET中lambda运算符的完全支持,一些最好的工具就会变成残缺或DOA.例如:Fluent NHibernate,StructureMap等.