如果可以避免,我非常反对重写应用程序.我理解10次中9次的规则,重构更好,但是我可能是10次中的一次,而我正在寻找那条线.
目前的情况是:
所以,我正在权衡这些选择:
我的想法是,如果我选择选项1,那么最后我只有一个VB6应用程序,他们仍然想要升级到.NET,我已经研究过它,这是昂贵和耗时的,甚至使用你的工具我还会得到一些有点像弗兰肯斯坦的东西.如果我选择选项2,我相信我可以尽快完成,我会直接跳到目标技术.
在我的规范化过程中我已经重写的小规模部分中,结果是已经存在的改进模块,因此在重写期间会添加值.
现有的应用程序,除了它的所有缺陷,是一个很好的讨论点.使用它的人可以告诉我什么对他们起作用,什么不起作用,所以那里肯定有很多价值.
那么,这是否有资格成为"十分之一"时间之一?
tay*_*onr 14
我有一个最初用VB6编写的项目,他们雇用我将其转换为.NET.我最近离开了这份工作.我相信该程序可能不应该被重写.
如果采用重写方法(基于我的项目),需要考虑以下因素
这些都是从VB6到.Net的真实生活迁移的经验.我是唯一的.Net开发人员.没有资源可以雇用额外的帮助.我的情况和你的情况之间的主要区别是1.最初的开发人员仍然存在 - 只是在一个新的角色(有时更难)和2.原始的应用程序不需要很多错误修复.
我想如果我再做一遍,我会尝试创建一些.NET dll并将它们合并到VB6应用程序中.逐件转换为.net.因此,您可能会将应收帐款的数据和业务逻辑移至.NET.所有其他方面保持不变.GUI,其他功能等.然后在推出并标记为完成之后,接受Shipping部分并执行相同的操作.最后一步是创建一个使用您的DLL的新.NET GUI.
这给你带来了一些好处
我非常厌倦决定作为一名开发人员重新编写这个应用程序并为他们提供一个可用的产品.我认为保守估计(假设没有范围蔓延等)将是24个月.可能更有可能是3 - 4年.
我离开的项目已经工作了3年并且是可以维修的,但还不是原始应用程序的100%替代品.就像我说的那样......虽然这意味着我没有工作,但我认为不应该重写.
在我们一次完成应用程序和数据库的项目中,我建议首先尝试使数据库正确,然后再执行应用程序.
试图同时做这两件事可能会非常痛苦.但是,如果没有在您旁边查看代码,那么肯定很难说.
我总是觉得如果你拥有数据库并且你可以依赖它,你应该能够使用集成测试重写,然后更可靠地进行单元测试.
一旦你拥有了数据库,我认为最好的情况是尝试将代码模块化为单独的和可重用的程序集(你应该可以在.NET中使用),然后逐渐将这些程序从VB中移植到.NET中.如果代码是可怕的意大利面条,这可能是不可能的!
无论如何,长期目标是将其转换为.NET......
听起来您只需维护旧代码,直到将其移植到 .NET 为止。因此,保留一些工作并从今天开始重写。我的2分钱。
确保在重写时仍然可以使用现有的应用程序,因为听起来这不可能在一两天内完成。“仅维护”状态对我来说听起来是个好主意。
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |