We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 9 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
您可以尝试 NDepend。 伟大的 Scott Hanselman 在这里进行了更多讨论。 还有大量的视觉依赖格式。 不过,听起来它只适用于 .NET。
You might try NDepend. The great Scott Hanselman discusses it more here. Tons of visual dependency formats too. It sounds like its only for .NET though.
NDepend 工具提出了交互式依赖关系图和交互式依赖关系矩阵。 此外,该工具集成在 VisualStudio 2012、2010 和 2008 中。免责声明:我是该工具的开发人员之一
无论您是否需要展示调用图,耦合图、继承图、依赖关系图,非常大的图表,精确定位依赖循环等等,NDepend会生成一些可视化图表。 以下是一些屏幕截图:
The tool NDepend proposes both an interactive Dependency Graph and an interactive Dependency Matrix. Also, the tool is integrated in VisualStudio 2012, 2010 and 2008. Disclaimer: I am one of the developers of the tool
Whether you need to exhibit Call Graph, Coupling Graph, Inheritance Graph, Dependency Graph, very large Graph, pinpoints Dependency Cycles and more, NDepend will generate some visual diagrams. Here are some screenshots:
我发现 doxygen 对于在面对新项目时生成各种依赖信息非常有用。 它显然可以处理“C++、C、Java、Objective-C、Python、IDL(Corba 和 Microsoft 风格)、Fortran、VHDL、PHP、C#,在某种程度上还可以处理 D”。 它使用 Graphviz 生成图形依赖关系图。 您可以包含完整的源代码,以及已识别的所有内容的超链接。 如果幸运的话,那里已经有一些 doxygen 可以理解的文档了。 然后,您可以快速浏览代码,了解所有关系。
I find doxygen is useful for generating all kinds of dependency information when faced with a new project. It apparently handles "C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D". It uses Graphviz to generate graphical dependency charts. You can include full source code, with hyperlinks from everything that was recognised. If you are lucky there will be some documentation that doxygen understands in there already. You can then navigate around the code quickly, learning what all the relationships are.
我不确定您是否只询问有关 .NET 或其他框架的问题,我的经验主要是使用 Java,但我确信 .NET 也存在类似的工具。
在类级别,您可以使用 UML 工具获得自动生成的可视化,这些工具通常可以将源代码逆向工程为图表。 Netbeans 是免费的,并且具有 UML 逆向工程的 Java 源 功能。
然而,类图的级别非常低,它们几乎(直接)告诉您有关更大架构主题的信息。 那时,像 Structure101 这样的工具对于发现您没有发现的架构属性可能很有价值没有意识到在那里。 他们有试用版,还可以处理 C 和 C++。
I'm not sure if you are asking only about .NET or other frameworks, my experience is mostly with Java but I'm sure similar tools exist for .NET.
On the level of classes you can get an auto-generated visualization using UML tools that can typically reverse engineer source code into a diagram. Netbeans is free and has Java source to UML reverse engineering features.
Class diagrams however are very low level, they tell you little (directly) about the larger architectural themes. At that point tools like Structure101 can be valuable in discovering architectural properties that you didn't realize were there. They have a trial version and can also deal with C and C++.
我赞同 Nick 的 Doxygen 评论。 我正在使用 Doxygen for C#.NET,它生成类图、继承图等。这是一个 内容丰富的博客文章。
I second the Doxygen comment by Nick. I am using Doxygen for C#.NET and it generates class diagrams, inheritance diagrams, etc. Here is an informative blog post.
一个不错的第一步可能是编写一个简单的 PERL 脚本来解析依赖关系,然后将该数据通过管道传输到 Graphviz 用于可视化。
A decent first-cut might be to write a simple PERL script to parse out dependencies and then pipe that data to Graphviz for visualization.