如果我想直观地映射一个编程框架并查看所有实体之间的关系,我应该使用哪个工具? [关闭]
Posted
技术标签:
【中文标题】如果我想直观地映射一个编程框架并查看所有实体之间的关系,我应该使用哪个工具? [关闭]【英文标题】:Which tool do I use if I want to map a programming framework visually and see the relationship between all entities? [closed] 【发布时间】:2010-09-07 23:01:01 【问题描述】:我发现自己是一个视觉化的人,如果我能从中画出图表/图片,有时会更容易学习一些东西。我的问题是,如果我想直观地映射一个编程框架(例如 .net)并查看所有实体(例如类和成员)之间的关系,我应该使用哪种工具。
【问题讨论】:
【参考方案1】:你可以试试NDepend。伟大的Scott Hanselman discusses it more here. 也有大量的视觉依赖格式。听起来它只适用于 .NET。
【讨论】:
【参考方案2】:我发现doxygen 在面对新项目时对于生成各种依赖信息很有用。它显然可以处理“C++、C、Java、Objective-C、Python、IDL(Corba 和 Microsoft 风格)、Fortran、VHDL、php、C# 以及某种程度上的 D”。它使用 Graphviz 生成图形依赖图表。您可以包含完整的源代码,以及来自已识别的所有内容的超链接。如果你幸运的话,那里会有一些 doxygen 已经理解的文档。然后,您可以快速浏览代码,了解所有关系。
【讨论】:
【参考方案3】:NDepend 工具提出了交互式Dependency Graph 和交互式Dependency Matrix。此外,该工具集成在 VisualStudio 2012、2010 和 2008 中。免责声明:我是该工具的开发人员之一
无论您需要展示Call Graph、Coupling Graph、Inheritance Graph、Dependency Graph、very large Graph、精确定位Dependency Cycles等等,NDepend都会生成一些可视化图表。以下是一些截图:
【讨论】:
【参考方案4】:一个不错的第一步可能是编写一个简单的 PERL 脚本来解析依赖关系,然后将该数据通过管道传输到 Graphviz 以进行可视化。
【讨论】:
【参考方案5】:我不确定您是否只询问 .NET 或其他框架,我的经验主要是 Java,但我确信 .NET 存在类似的工具。
在类级别上,您可以使用 UML 工具获得自动生成的可视化效果,这些工具通常可以将源代码逆向工程到图表中。 Netbeans 是免费的,并且具有 Java source to UML reverse engineering 功能。
然而,类图是非常低级的,它们很少(直接)告诉你更大的架构主题。那时,Structure101 之类的工具在发现您没有意识到的架构属性方面可能很有价值。他们有试用版,也可以处理 C 和 C++。
【讨论】:
【参考方案6】:我赞同尼克的 Doxygen 评论。我在 C#.NET 中使用 Doxygen,它会生成类图、继承图等。这是一个 informative blog post。
【讨论】:
以上是关于如果我想直观地映射一个编程框架并查看所有实体之间的关系,我应该使用哪个工具? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章