我将在不久的将来修复WinForms应用程序(.NET 2.0)。通过源代码查看,我发现大型代码文件(超过2000行),其中大部分是生成的对话框,有很多代码隐藏。
有没有提示让我分享?修复或重构WinForms应用程序的任何战争故事或最佳实践?
答案 0 :(得分:3)
简短版本:
购买Michael Feathers的书,有效地使用遗留代码。
版本较长:
维护(更改)此类应用程序时遇到的最大挑战是不破坏某些内容。这意味着您需要了解应用程序的行为,最简单的方法是围绕它进行测试。正如你所指出的,一开始这可能是令人生畏的,但这并非不可能。这需要纪律和耐心。
您不必从单元测试开始。获得自动化框架(例如NUnitForms或White)通常更容易将应用程序作为黑盒子首先驱动。围绕您需要更改的区域构建一系列测试,以便您有足够的信心在不破坏某些内容的情况下进行更改。然后进入并开始重构单元可测试性。
如果它与我正在处理的应用程序类似,则主要涉及:
有时重写代码的部分而不是重构它们会更容易,但这需要通过测试或引用规范(如果存在的话)来理解行为。
除了任何实用建议外,如果您是参与此工作的团队的一员,请确保您一起工作。它将使工作变得更轻松,更有乐趣,并确保您明天所做的更改不会被那些不了解您正在处理的人明天所取消。
我可以整天写这个话题,但是Feathers先生在这方面要好得多,而且我很饿。祝你好运!
答案 1 :(得分:2)
我认为这是基本的东西。这里的很多人必须有很多建议。祝你好运!
答案 2 :(得分:1)
我首先编写一些单元测试。如果代码相当密集,你将需要那些保持理智。
他们会给你一些信心,让你在重构时相当积极。
答案 3 :(得分:1)
高层领导的事情: