出于这个问题的目的,代码库是一个ASP.NET网站,它有多个用C#和Visual Basic .NET编写的页面.主要语言是C#和Visual Basic .NET网页,它们分叉到项目中,因为需要相同的功能.
是否应该花时间实际重写这些页面,包括再次进行测试和调试周期,还是被认为是可接受的?
您应该记住以下三点:
如果不是'破了就不要修理它.
团队化妆和熟练程度
编码标准和统一性
首先,就像许多人说的那样,如果它没有被破坏,那么为什么要经过改变代码库的努力.您可能会在语言转换期间添加错误,即使它们都是在ASP.Net中运行的.Net语言.
其次,我将假设有一个有效的理由来分支项目并使用VB.Net而不是继续使用C#.这种语言变化背后的原因是什么?这些原因不再有效吗?考虑导致分叉为不同语言的假设的有效性.
第三,所有团队成员都能胜任C#吗?如果几个团队成员不熟练,那么将所有代码迁移到C#可能会带来负担.
最后,我建议采用编码标准,并从现在开始将所有新开发的重点放在一种语言上.除了这些标准,您可以考虑一项策略,规定如果您需要修改/修复VB.Net页面,则应将此页面迁移到C#.
此时,VB.Net页面不再"未被破坏",您最有可能必须经历调试/测试阶段才能验证修复/更改.因此,您要将迁移成本添加到任何错误修复中.通过这种方式,您可以将代码慢慢迁移到C#,而不会产生大量的一次性成本.
如果您不得不花费必须迁移页面以及任何错误修复或更改VB.Net页面,那么请注意这一点.您很可能没有时间或资源来迁移所有VB.Net页面.由于大规模迁移需要更多时间,并且明智地要求您在迁移过程中停止VB.Net页面上的所有工作/修复.这可能是一个指标,根据您的业务需求,是否可以选择迁移到C#.
你的建议是部分重写.
如果现有代码的功能或体系结构存在严重错误,我只能提倡重写.
对于C#而不是VB的偏好并不足以证明IMO.