如何将丑陋和未记录的VB6代码迁移到.NET
我知道已经有关于VB6迁移的问题,但我的项目的代码库在这里带来了一些新的问题。
我不得不说代码质量,结构和架构只是一个噩梦。 “守则”自十年来一直发展壮大,一次大部分由1名(坏)开发人员撰写。 > 500行(或更多)的函数很常见。 几个月前我接手了这个项目,我是唯一的维护者。变更请求和错误有一个恒定的(但是很低的)流量,我们得到客户的维护预算,以保持软件运行和“最新”的法律要求。 我的选项 1)从头开始重写 – 在这种情况下,我可以用Java编写它来进行可移植性。 2)将代码移植到VB.NET / C# 3)重新设计VB6中的代码,只要我不得不改变某些东西(我已经在做这部分),而某些点重构也是其余的。这样就可以很容易地看到原始的功能,因为它是原始的代码,当有错误时,很明显它们不能是迁移的结果。 将来有一些更大的变化(使它与Win7兼容,另一个影响代码大部分的大CR),所以这将有一个很好的机会来做这些改变,因为我必须经历很多的代码无论如何。 我的问题是谁有经验/提示迁移坏的丑陋的代码?你会建议哪些选项?
我必须经历同样的事情(大规模VB6应用程序没有文档和可怕的代码。)。您可以采取的唯一安全合理的路线是3号。要改善您先要了解的东西。如果你采取路线1或2,你将被保留一个可怕的混乱。
记住要始终把想法放在你的头脑中,你的最终目标是完全迁移到.NET。正如您正在重构的那样,考虑VB6可怕的OO支持将如VB.NET或C#中所示。如果可能,您的代码可能会转移,以使迁移更容易。 您可能需要考虑将大量的核心功能转移到.NET DLL中,并通过COM将其暴露给VB6。这将从您的VB6中删除可笑的代码量,并希望大部分业务逻辑。 你需要记住的最重要的事情不是牛仔。 >为模块编写测试。>重构一个模块。>测试模块。>释放你的应用程序> GOTO 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |