Programming languages 公司标准:C#NET vs.VB.NET vs.whatever.NET
在我以前的工作中,当我们考虑用更多的机构充实我们的开发人员时,这个问题不时出现。如果你是一家.NET开发公司,如果你的开发人员都用一种语言编写代码,这真的很重要吗 我可能一开始和其他400万人一样,用VisualBasic编程,然后迁移到VB.NET。我们当时的另一个开发人员来自C背景,并迁移到C#NET。基本上,他能很快地用他的母语编写代码,我也能用我的语言编写代码,因为我们的项目并没有真正重叠,所以没有问题,直到我们的老板基本上说我们需要切换到C#。。。除了标准化,没有其他原因 所以我想问题的“主观”部分是,牺牲生产力来保持一致性是否更好?现在我应该量化这一点,说我们是一个小商店,不到5个开发者,并且考虑到我们的大多数项目计划是如何在鸡尾酒餐巾纸上完成的,这不像我们很快就要进行6西格玛,所以“标准”不是一条硬性规定Programming languages 公司标准:C#NET vs.VB.NET vs.whatever.NET,programming-languages,standards,Programming Languages,Standards,在我以前的工作中,当我们考虑用更多的机构充实我们的开发人员时,这个问题不时出现。如果你是一家.NET开发公司,如果你的开发人员都用一种语言编写代码,这真的很重要吗 我可能一开始和其他400万人一样,用VisualBasic编程,然后迁移到VB.NET。我们当时的另一个开发人员来自C背景,并迁移到C#NET。基本上,他能很快地用他的母语编写代码,我也能用我的语言编写代码,因为我们的项目并没有真正重叠,所以没有问题,直到我们的老板基本上说我们需要切换到C#。。。除了标准化,没有其他原因 所以我想问题
谢谢。C#无疑正在成为微软的首选途径,选择一种所有开发人员都可以使用的语言是有意义的,因为如果开发人员在任务之间移动,项目将使用统一的语言(更不用说编码约定)这将使所有参与项目的人都能更轻松地维护这些项目。我想说,只要可行,就去做吧。VB.NET和C#使用所有相同的底层框架,因此您应该能够阅读彼此的代码,并且通过一点谷歌搜索,您也应该能够修改它
我要说的是努力提高生产力。。最终,客户会关心它是用VB.NET还是C#编写的吗??但是说你必须考虑可维护性。在我工作的地方,我们仍然是一个混合语言小组;然而,这是有目的的。几乎所有硬件相关的项目都是用C++完成的(不是汇编,我知道:),而且几乎所有的Windows应用程序都是用C语言完成的。
考虑到C#的流行性和易用性,我想说,当一家公司有了新的、更环保的员工时,转向it符合公司的利益。我认为选择一个并让每个人都参与其中是有意义的。生产力方面的牺牲将是短暂的,有能力的开发人员将很快迁移 一些优点:
- 你的上一个VB开发人员和团队被精简了…哦
- 其中一个开发人员退出,您必须接管他们的代码
- 等等
- (+)明天人们只需要维护一种语言,即最流行的.Net语言:C#(见注1)
- (-)今天你必须学习C,这对你的公司来说是一项成本,除非你在周末免费学习。当然,这在成本上是一个(-)。学习C本身是好的,只是有成本而已
- ()今天,在学习C#之后,您或其他人必须将一个项目从Visual Basic.Net切换到C#。这会产生成本,具体取决于项目的LOC计数。此外,可能会引入错误,因此您需要重新运行单元测试,检查所有故障并解决问题。此外,您还需要重复一些集成测试,以确保一切正常
注1:然而,这种推理与“如果VB.NET不存在,世界会变得更好”的说法非常接近VB.NET,或者两种语言的混合,在某些情况下可能是一个不错的选择。
如果可能的话,坚持一种奇异的语言选择是很重要的。显然,如果你写的是非托管C++,或者有其他类似的情况,那么会有明显的例外。很多人都在研究效率。在同质语言选择方面,一旦你升级了。我认识的大多数开发人员在切换语言时都会遇到效率问题,即使他们对语言了如指掌。在用C#编写了几个月的代码后,如果我不得不回到VB.NET来维护某些东西,总有一天我会有意识地考虑瘦语言通常是自动的。它们是简单的事情,比如使用vs.导入、类型转换等。这不是因为你忘记了它是如何工作的,而是你的大脑想要做一些你已经做了很长一段时间的事情。很像老的客厅把戏,把你的手臂推到门框上一分钟,然后休息一会儿对你的si下摆