29

我刚刚得到一堆(大部分未记录的)C# 代码,我想在深入研究并开始重构之前可视化它的结构。我过去(在其他语言中)使用生成调用图的工具来完成此操作。

你能推荐一个好工具来促进 C# 中结构的发现吗?

更新

除了这里提到的工具,我(通过管道)看到人们说.NET ReflectorCLR Profiler具有此功能。有这些经验吗?

4

8 回答 8

20

NDepend在这方面做得很好。此外,Visual Studio 2008 Team System 有许多功能可以让您跟踪圈复杂度,但它比 NDepend 更基本。(运行代码分析)

于 2009-04-27T14:18:06.480 回答
9

关于 NDepend,它可以生成一些可用的调用图,例如(此处为图片全尺寸)

替代文字

在此处查找有关 NDepend 调用图的更多说明。

于 2010-10-19T13:11:54.193 回答
8

有点晚了,但是http://sequenceviz.codeplex.com/是一个很棒的工具,可以显示调用者图/序列图。这些图表是通过逆向工程 .NET 程序集生成的。

于 2012-10-15T22:51:05.607 回答
6

我已经使用doxygen取得了一些成功。这有点令人困惑,但免费且有效。

于 2009-04-27T16:01:11.957 回答
5

视觉工作室 2010

另外,基于方法-反射器(分析器(Ctrl + R);“取决于”和“使用者”)

于 2009-04-27T14:19:22.890 回答
5

截至今天(2017 年 6 月),同类产品中最好的工具是 Resharper 的检查功能。它允许您查找所有来电、去电、值来源/目的地等。

与上面提到的其他工具相比,ReSharper 最好的部分是:它的错误更少。

于 2017-06-01T23:07:43.977 回答
3

反射器的 SequenceViz 和 DependencyStructureMatrix 可能会帮助您: http: //www.codeplex.com/reflectoraddins

于 2009-04-27T15:59:30.667 回答
2

我不确定它是否会仅对源代码执行此操作,但ANTS Profiler将为正在运行的应用程序生成调用图(无论如何可能更有用)。

于 2009-04-27T14:17:52.270 回答