C#的软件可视化技术

7

你们中有人知道一款用于软件可视化或C#代码可视化导航的工具吗?

我找到了很多工具,但它们都是为Java设计的,原因不明。

在维基百科上有一份清单,但没有任何一个适用于.Net平台。

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

我对代码可视化导航非常感兴趣,因为在大型项目中我经常感到迷失方向。

8个回答

2

我认为NDepend是您正在寻找的,但不幸的是它不是免费的。


编辑:我刚刚看到也有一个开源版本,但功能有限。


2
Reflector本身可能无法合理地可视化代码。但是有一些插件可以增强它的功能。
请在this页面上尝试以下插件:
  • Graph
  • AutoDiagrammer
  • SequenceViz

1

Red Gate的反编译工具(前身为Lutz Roeder's)允许您浏览程序集并查看它们的依赖关系。使用分析功能,您可以看到类在哪里被使用以及它使用了什么。

此外,还有一些插件可以使浏览更加容易。

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


1

你也可以使用VS自己的类图来为某些项目提供图形化视图。虽然我认为它只限于一次一个项目。向项目添加新的“类图”,然后从类视图中拖动类或程序集等内容到其中以添加它们;或者转到类视图,右键单击,查看图表。我发现这些非常有用,但不太适合编辑。


1

Frederick,那些反射器插件真的很棒。 我一定会试试它们。

我也对“代码的空间表示”感兴趣。 这是关于使用空间记忆来浏览代码(而不会迷失方向)的内容。

有一个微软研究小组在研究这个主题: http://research.microsoft.com/en-us/projects/SpatialCode/

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

有人知道在这个方向上有什么实用的东西吗?


1
Ofer,用答案的形式回复不是一个好主意。如果你需要跟进你的问题或者询问比你最初写在问题中的更多的内容,正确的方式是写评论或编辑你的问题。 - Frederick The Fool
谢谢您,Frederick。我是第一次在stackoverflow上发布帖子,我实际上正在寻找一种方法来做到这一点!如果我写了一个问题,而答案只解决了部分内容,或者我的问题被误解了,那么是否有一种方法可以重新推出我的问题,以便其他人知道它仍未解答?非常感谢! :) - ofer

1

这只是沧海一粟,但在此期间,不妨试试Stephan Brenner的.NET参考资源浏览器。它非常简单,但我发现它在图形化引用程序集方面非常有用。


0

Reflector肯定是一个选择。

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

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

因此,我想知道是否有任何现有的软件\开源项目来处理这些内容。


0

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

Softagram 具有特殊的抽象能力,使其可以在最大的项目中实现可视化代码导航,例如 Chromium。

它是唯一一个具有将软件变更可视化集成到 Github、Bitbucket 和 VSTS 的 pull requests 及其托管对应项(Github Enterprise、Bitbucket Server 和 TFS)中的可视化工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接