c#代码流映射/可视化实用程序?

bmt*_*033 7 .net c# visualization

我被要求重新编写(从头开始)现有的C#winforms应用程序.不幸的是,在过去的三四年里,至少有十几个不同的开发人员修改了这个代码,他们似乎都没有看到任何类型的编码标准.要说这个代码库是乱七八糟的,那就是礼貌地说.考虑到代码的大小(~24k行)以及代码对我来说是全新的事实,我想找到某种实用工具来帮助我更快地理解这个应用程序在高级别上的工作原理.请记住,在这段代码中似乎没有大量优秀的OOP实践,所以我需要比类图更详细的东西.我已经看到了生成序列图的参考,这可能更像我正在寻找但我只有VS2010 Premium,我的印象是这个功能只提供VS Ultimate SKU.我可以访问当前版本的.NET Reflector,我看到有几个人提到有插件可能有用,但我没有任何特定的名称.

Jon*_*onH 6

从头开始重写代码可能是一场灾难:请参阅:http://www.joelonsoftware.com/articles/fog0000000069.html

这不是一件容易的事,因为你提到过你之前有十几个开发人员.每个开发人员背后都有他自己的方法论和他自己的系统逻辑.每个人都以自己的方式行事.

以下是您可能遇到的一些问题

  • 继另一个开发者逻辑
  • 开发商是否还在或者已经改变了职位或改变了工作岗位
  • 找到或者甚至存在技术规范(这是最重要的)
  • 最初编写,然后修补,然后一次又一次修补的旧代码...
  • 可能已在应用程序中集成或编写的自定义代码
  • 安全性,如果有的话

除了有一堆应用程序的流程图/图表之外,最好要求或获得的是技术规范.该计划的目的是什么,并且鉴于其他12人的工作是你可以自己采取的措施?

您提到OOP,您是否计划采用意大利面条代码并进行整个重写以适应面向对象的模型?如果这样做了很多工作......并且有12个先前的大脑正在努力,那么某人的逻辑肯定会让你失望.

对不起,我没有最好的建议,但这可能是一项艰巨的任务......特别是如果那些开发人员在你之前不再存在.

有关详细信息,请参阅以下SO线程:


Lar*_*rry 3

看看NDepend,它是一个代码管理工具,可以通过代码查询代码规则智能技术债务估计、依赖和矩阵、自基线以来的代码差异等为您提供很多帮助......

哦,还有这个相关的问题