c#代码流映射/可视化实用程序?
我被要求(从头开始)重新编写一个现有的C#winforms应用程序。不幸的是,在过去的三四年中,至少有十几个不同的开发人员修改了这段代码,他们似乎都没有遵守任何一种编码标准。说这个代码库乱七八糟是出于礼貌。考虑到代码的数量(约24k行)以及代码对我来说是全新的这一事实,我想找到一些实用工具,帮助我更快地了解这个应用程序在高级别上的工作方式。请记住,这段代码中似乎没有太多好的OOP实践,所以我需要一些比类图更详细的东西。我看到过一些关于生成序列图的参考,这些序列图可能更像我正在寻找的,但我只有VS2010 Premium,而且我的印象是,该功能仅在VS Ultimate SKU中提供。我可以访问.NET Reflector的当前版本,我看到一些人提到有一些插件可能会有用,但我没有任何具体的名称。从头开始重写代码可能会是一场灾难:请参见: 这不是一项容易的任务,正如您提到的,在您之前有十几个开发人员。 每个开发人员的背后都有自己的方法和系统逻辑。每个人 这是他们自己的方式 以下是您可能遇到的一些问题c#代码流映射/可视化实用程序?,c#,.net,visualization,C#,.net,Visualization,我被要求(从头开始)重新编写一个现有的C#winforms应用程序。不幸的是,在过去的三四年中,至少有十几个不同的开发人员修改了这段代码,他们似乎都没有遵守任何一种编码标准。说这个代码库乱七八糟是出于礼貌。考虑到代码的数量(约24k行)以及代码对我来说是全新的这一事实,我想找到一些实用工具,帮助我更快地了解这个应用程序在高级别上的工作方式。请记住,这段代码中似乎没有太多好的OOP实践,所以我需要一些比类图更详细的东西。我看到过一些关于生成序列图的参考,这些序列图可能更像我正在寻找的,但我只有VS
- 遵循另一种开发人员逻辑
- 无论开发人员是否还在,或者是否已经换了职位或者更糟糕的是换了工作
- 查找或即使存在技术规范(这是最重要的)
- 最初编写的遗留代码,然后修补,然后一次又一次修补
- 可能已在应用程序中集成或编写的自定义代码
- 如果有安全措施的话
哦,还有。我很确定,虽然整个代码是无效的,但现有代码的某些部分是完美的。我建议你参与其中,把单元测试放在它们周围,然后喘口气,把它们复制粘贴到你的新项目中。这样,你会一点一点地将你的混乱过滤成一些经过改造和测试的东西
另外,我一直想做的一件事是打印大量代码,并通过切割(使用真正的金属剪刀)将工作流可视化,然后将它们按使用方式粘在一起。Hi Jon。谢谢你的快速回复。你说得很好。不幸的是,在这种情况下,我被告知“这就是我们要做的”。事实上,我确实向我的雇主提出了一些非常相同的论点,但他们认为有必要重写,并承诺这样做(或者更确切地说,责成我这样做,视情况而定)。:-(如果你必须重写(我个人喜欢:D)您可以尝试隔离功能片段——将有用的片段复制到新项目中并编写单元测试——以在新版本中使用。哦,顺便说一句,在编写新的GUI应用程序时,我建议学习更新控件——一旦您弄明白了,它将加快开发。为了找出给定任务中涉及的代码,我会使用电子覆盖工具,如PartCover或(更好的)商业替代品。这通常有助于我理解。但是,我不作为答案发布,因为我实际上不记得怎么做。这是免费的: