C#的软件可视化

时间:2009-01-19 07:22:03

标签: navigation visualization

您是否知道c#中的软件可视化或可视代码导航工具?

我发现了一堆工具,但出于某种原因它们都是用于Java的。

维基百科中有一个列表,但没有一个用于.Net平台。

http://en.wikipedia.org/wiki/Software_visualization#Tools

我对视觉代码导航非常感兴趣,因为我对大项目感到非常迷失。

8 个答案:

答案 0 :(得分:2)

我认为NDepend正是您所寻找的,但遗憾的是它不是免费的。


编辑:我刚看到还有一个limited open source version

答案 1 :(得分:2)

Reflector本身可能无法提供合理的代码可视化。但是有一些插件可以通过这种功能来增强它。

this页面上尝试以下插件:

  • AutoDiagrammer
  • SequenceViz

答案 2 :(得分:1)

Red Gate's reflector (formerly Lutz Roeder's)允许您浏览程序集并查看其依赖项。使用analyze函数,您可以看到类的使用位置和使用方式。

还有一些插件可以让浏览更轻松。

除此之外,您可以使用Visual Studios对象浏览器浏览所有引用的程序集中的所有类并查看它们的依赖项,或者您可以使用Visual Studio的“类视图”功能来概述类及其属性。

答案 3 :(得分:1)

您还可以使用VS自己的类图来为某些项目提供图形视图。虽然我认为它一次仅限于一个项目。向项目中添加一个新的“类图”,然后将类或视图中的类或程序集等拖到它上面以添加它们;或者转到课堂视图并右键单击,查看图表。我发现这些对于环顾四周非常有用,但对于编辑来说并不是那么好。

答案 4 :(得分:1)

Frederick,那些Reflector加载项非常棒。 我一定会尝试一下。

我也对“代码的空间表示”感兴趣。 它是关于使用空间内存来浏览代码(而不是迷路)。

有一个关于这个问题的微软研究小组: http://research.microsoft.com/en-us/projects/SpatialCode/

在该页面上有一些非常酷的想法,但没有可下载和使用的软件(这是对你的研究!)。

有没有人知道在这个方向上有什么实际意义?

答案 5 :(得分:1)

它只会是海洋中的一滴水,但是当你在它的时候,给Stephan Brenner的.NET Reference Explorer一个去。它非常简单,但我觉得它确实很有用 - 图形引用的程序集。

答案 6 :(得分:0)

反射器当然是一种选择。

我更瞄准视觉解决方案。 也许是一个图表,显示哪个类正在使用哪个类, 或者一个图表,显示哪个方法调用哪个方法。

示例(虽然不在C#中)是CodeCity,EvoSpaces,CodeCrawler以及我在原帖中发布的维基百科链接中的一些。

所以我想知道是否有任何现有的软件\开源项目处理这些东西。

答案 7 :(得分:0)

Softagram提供了多种语言的软件可视化和可视代码导航。除了.NET C#,它还支持C,C ++,Java,JavaScript,TypeScript,Python,PHP,Scala和Go。

Softagram具有特殊的抽象功能,可以在Chromium等最大的项目中实现可视代码导航。

这是唯一具有可视化工具的功能,能够提供集成的软件更改可视化功能,以提取Github,Bitbucket和VSTS及其托管的对等对象(Github Enterprise,Bitbucket Server和TFS)的请求。