首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将团队从VB.Net转换为C#.Net

将团队从VB.Net转换为C#.Net
EN

Software Engineering用户
提问于 2017-04-03 12:01:58
回答 5查看 2.5K关注 0票数 3

我目前正在运行一个由5名VB.Net开发人员组成的团队,并决定改用C#。该团队构建和维护了大约20个运行整个平台的不同应用程序,因此代码库的大小相当适中。

做出这一转变有几个因素,但最大的因素是克服招聘问题。在我们的地区很难找到VB.Net开发人员,今年我们将再招聘3到4个开发人员。我与几家招聘机构合作寻找人才,在这一点上,反馈是相当巨大的。我们所有的开发人员都有C#经验,所以我不担心。

我的问题不在于切换到C#的可行性,因为我们已经确定了这一点,然而,我需要关于这个方法的建议。在我看来,有几种选择:

  1. 我们使用团队一次转换整个代码库,然后在C#中继续工作。
  2. 在项目开发期间,我们会考虑到转换代码库中较小块的时间。
  3. 我们把转换工作外包给另一家机构
  4. 我们雇用了一个新的C#开发人员,让他们开始转换,同时缓慢地迁移团队。

我敢肯定,过去有些公司不得不做出这种转变,所以真的希望有人能从经验中得到建议。

问题(为了清晰起见):考虑到上述所有因素,将团队从VB.Net迁移到C#的最佳方法是什么?

EN

回答 5

Software Engineering用户

回答已采纳

发布于 2017-04-03 12:27:56

如果您目前有熟悉VB.NET的C#开发人员,我不认为所有20个应用程序都需要一次重写。它只是太多的编码,测试,推出和什么?因为你的下几个雇员不懂密码?不要混淆那些讨厌VB的C#程序员,因为他们根本无法理解VB,或者没有受过什么训练。

我要做以下几点:

  1. 新的应用程序是用C#编写的。
  2. 当前的应用程序需要进行重大的更改,然后转换为C#。
  3. 新员工需要学习一些VB,即使这是一种转换代码或做小麻烦解决的方法。他们无论如何都需要学习这些系统。他们不会在第一天处理生产代码。有个计划加入他们。如果他们鄙视VB,这是一个伟大的动机,让它转换。如果有任何不太大的新项目,他们可以参与其中。在有限的时间内,VB只是他们工作的一部分。别让他们永远被困住了。
  4. 确定可能根本不需要转换的应用程序。这种情况可能会随着时间的推移而改变。确保这足以让当前团队处理。你可能会有一些应用程序被逐步淘汰。

一个长期的计划,你需要解决问题,并转换成较小的块,看起来不像这样一个令人印象深刻的项目。带来3个新的开发人员是一项重大任务。不要为了转换代码而转换代码。你可能没有人会再看你的应用程序。

票数 12
EN

Software Engineering用户

发布于 2017-04-04 02:28:49

我不想告诉你该做什么,我会告诉你我们做了什么。

  1. 测试是用C#编写的,因为,说实话,VB代码库中没有任何代码。
  2. 新类是在添加到解决方案中的新类库项目(S)中用C#编写的。
  3. 在VB中维护对现有VB代码的小修改,但是在进行任何修改之前都会添加特性测试。
  4. 无情的重构。
  5. 一旦获得了大量的测试覆盖率,您就可以选择在方便的时候将VB类迁移到新的库中,一次迁移一点点。
  6. 使用尽可能多的应用程序/尽可能多的功能。
  7. 不要碰任何代码,除非你有一个用户的实际要求这样做。(精益制造有一个概念,在客户给出理由之前,不要做任何事情。在这里它会对你很好。)

迟早,您将在一个项目中只剩下很少的VB,并且有足够好的测试覆盖率来“完成它”并重写瘦GUI层。当你在做的时候,给它做个不错的整容。这种方法对我的团队非常有效。

其中一些VB代码在20年后还会存在吗?是的,但如果没人需要改变它也没关系。尊重你雇主的钱。重写很少进展顺利。如果你不关心公司的钱,那就考虑你的奖金.

票数 10
EN

Software Engineering用户

发布于 2017-04-03 14:02:50

问题(为了清晰起见,似乎有些人无法完整地理解这个问题):考虑到上述所有问题,将团队从VB.Net迁移到C#的最佳方法是什么?

迁移团队是一个问题,迁移现有的代码库是另一个问题。

关于您的代码库,@JeffO的回答是一个非常好的代码库。

关于您的团队,由于您当前的团队已经对C#感到满意,我看不出有什么问题,但请注意,C#可能有一些与VB.Net不同的约定,而且尽管他们共享相同的框架,但具有VB6背景的开发人员通常具有与C/C++/Java背景的开发人员不同的标准。

为了比较的目的:C#编码约定VB.Net编码约定

如果您希望雇用更多经验丰富的C#开发人员,并且希望将他们留在您的团队中,那么最好在当前团队中采用C#约定,同时使用新的代码基或重构旧的代码基。这是一个文化问题,在一个稳定的团队中有时很难改变。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/345451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档