我是一个.Net开发人员的任务是升级一个经典的asp网站到asp.net。该网站目前是靠运气和泡泡糖运行的,但没有足够的时间或金钱来停止进度并进行全面重写。当然,在升级的同时,我仍然需要能够提供新的功能。
我应该使用什么策略来平滑地逐步转换到asp.net?我应该转换为单层.net解决方案,然后重构为适当的多层解决方案,还是应该现在设计我的业务和数据层?我应该直接升级到3.5,还是更容易直接升级到1.1,然后升级到2.0或3.5?
完全转换可能需要3-5个月的时间。还有一些现有的1.1代码,这就是为什么我正在考虑将其作为起点。
发布于 2008-09-19 05:53:52
作为一个长期的经典asp程序员,现在是一名ASP.NET开发人员,我会花时间在2.0框架中恰当地架构它(如果你想/需要这些特性的话是3.5)。
我的上一份工作是,我们有一大堆构建非常糟糕的经典asp应用程序,我们正在重建这些应用程序,其中最成功的就是"nuke and pave“。使用现有的经典应用程序作为您的功能规格和线框,并在此基础上构建您的任务和技术规格。
发布于 2008-09-19 18:12:07
不要扔掉你的代码!
这是你能犯的最糟糕的错误(在大型代码库上)。参见Things You Should Never Do, Part 1。
您已经在旧代码上投入了大量精力,并解决了许多错误。丢弃它是一个典型的开发人员错误(我已经做过很多次了)。它会让你感觉“更好”,就像大扫除一样。但你不需要买一套新公寓和所有的新家具来装备你的房子。你可以一次在一个房间里工作...也许有些东西只是需要重新粉刷一下。因此,这是重构的用武之地。
对于你的应用程序中的新功能,write it in C# and call it from your classic ASP。当您重写这个新代码时,您将被迫模块化。如果您有时间,也可以将旧代码的一部分重构到C#中,并在进行过程中找出错误。最终,您将使用所有新代码替换您的应用程序。
您也可以编写自己的编译器。我们很久以前就为我们的经典ASP应用程序写了一个,允许我们输出PHP。它被称为Wasabi,我认为这就是杰夫·阿特伍德认为乔尔·斯波尔斯基发疯的原因。实际上,也许我们应该把它运出去,然后你就可以用它了。
它允许我们在下一个版本中将整个代码库切换到.NET,同时只重写源代码的一小部分。这也让很多人说我们疯了,但编写编译器并不是那么复杂,它给了我们很大的灵活性。
另外,如果这是一个仅限内部的应用程序,就别管它了。不要重写它-你是唯一的客户,如果要求你需要运行它作为经典的asp,你可以满足这一要求。
发布于 2008-09-18 19:02:15
完成转换/重写需要多长时间?这也将取决于您是如何构建原始项目的。
我可以回答说,你应该从一开始就瞄准v2.0 (如果你想/需要它的特性,就以3.5为目标)。没有必要让你自己受制于这个框架的1.1。
https://stackoverflow.com/questions/95724
复制相似问题