我们正在 .NET 3.5 中重新设计我们网站的面向客户的部分。到目前为止进展顺利,我们使用相同的工作流和存储过程,在大多数情况下,最大的变化是 UI、ORM(从字典到 LINQ),当然还有语言。到目前为止,大多数页面都是微不足道的,但现在我们正在处理最繁重的工作流页面。
我们的报价接受部分的主页是 1500 行,其中大约 90% 是 ASP,可能还有另外 1000 行函数调用包含。我认为 1500 行也有点欺骗性,因为我们正在使用这样的宝石
function GetDealText(sUSCurASCII, sUSCurName, sTemplateOptionID, sSellerCompany, sOfferAmount, sSellerPremPercent, sTotalOfferToSeller, sSellerPremium, sMode, sSellerCurASCII, sSellerCurName, sTotalOfferToSeller_SellerCurr, sOfferAmount_SellerCurr, sSellerPremium_SellerCurr, sConditions, sListID, sDescription, sSKU, sInv_tag, sFasc_loc, sSerialNoandModel, sQTY, iLoopCount, iBidCount, sHTMLConditions, sBidStatus, sBidID, byRef bAlreadyAccepted, sFasc_Address1, sFasc_City, sFasc_State_id, sFasc_Country_id, sFasc_Company_name, sListingCustID, sAskPrice_SellerCurr, sMinPrice_SellerCurr, sListingCur, sOrigLocation)
到目前为止,我一直在使用的标准做法是花一个小时左右的时间阅读该应用程序,既要熟悉它,又要删除注释掉/弃用的代码。然后以深度优先的方式工作。我将从顶部开始,复制文件中的一段代码aspx.cs
并开始重写,在我去的时候进行明显的重构,特别是为了利用我们的 ORM。如果我得到一个我们没有的函数调用,我会写出定义。
在我完成所有编码后,我将在重构/测试中进行几次传递。我只是想知道是否有人对如何使这个过程更容易/更有效有任何提示。