如果要直观地映射编程框架并查看所有实体之间的关系,该使用哪种工具?
我发现自己是一个有视觉见识的人,如果我能从中画出图表/图片,有时会更容易学到一些东西。我的问题是,如果要直观地映射编程框架(例如.net)并查看所有实体(例如类和成员)之间的关系,该使用哪种工具。
解决方案
回答
体面的第一步可能是编写一个简单的PERL脚本来解析依赖关系,然后将该数据通过管道传输到Graphviz进行可视化。
回答
我不确定我们是否只问有关.NET或者其他框架的问题,我的经验主要是Java,但我确定.NET存在类似的工具。
在类的级别上,我们可以使用UML工具获得自动生成的可视化图像,该工具通常可以将工程源代码反向转换为图表。 Netbeans是免费的,并且具有UML逆向工程功能的Java源代码。
但是,类图的级别很低,它们几乎没有(直接)告诉我们有关较大的体系结构主题的信息。到那时,诸如Structure101之类的工具对于发现我们在那里没有意识到的建筑属性可能非常有价值。他们有一个试用版,还可以处理C和C ++。
回答
我们可以尝试使用NDepend。伟大的斯科特·汉塞尔曼(Scott Hanselman)在这里进行了更多讨论。大量的视觉依赖格式。听起来,它仅适用于.NET。
回答
我发现doxygen在面对一个新项目时对于生成各种依赖项信息很有用。它显然处理" C ++,C,Java,Objective-C,Python,IDL(Corba和Microsoft风格),Fortran,VHDL,PHP,C#,并在某种程度上是D"。它使用Graphviz生成图形依赖性图表。我们可以包含完整的源代码,以及来自已识别的所有内容的超链接。如果幸运的话,doxygen已经可以在其中了解一些文档。然后,我们可以快速浏览代码,了解所有关系。
回答
我第二次对尼克的Doxygen评论。我在C#.NET中使用Doxygen,它生成类图,继承图等。这是一个内容丰富的博客文章。
回答
工具NDepend提出了交互式依赖图和交互式依赖矩阵。此外,该工具已集成在VisualStudio 2012、2010和2008中。免责声明:我是该工具的开发人员之一
无论我们需要展示调用图,耦合图,继承图,依赖图,非常大的图,查明依赖循环等,NDepend都会生成一些可视化图。以下是一些屏幕截图: