理解/可视化c#代码的工具

理解/可视化c#代码的工具,c#,.net,C#,.net,你有没有什么工具可以简化理解一堆C代码的任务?试图理解他人编写的大型软件必须进行修改。关于可能有助于理解代码/代码流的工具的任何建议。您可以在VS2010中使用类图。或类视图。如果使用diagram工具,这将构建所有类的图表,或者使用class view获得所有类的树状图。。在VS 2010中,您可以通过右键单击项目名称来访问这些 这些将为您提供所有类及其各自的函数和方法的概述。在这种情况下,它通常有助于我运行程序并详细了解它的功能。如果您在语言和平台方面有经验,这将为您提供一个良好的起点。然后

你有没有什么工具可以简化理解一堆C代码的任务?试图理解他人编写的大型软件必须进行修改。关于可能有助于理解代码/代码流的工具的任何建议。

您可以在VS2010中使用类图。或类视图。如果使用diagram工具,这将构建所有类的图表,或者使用class view获得所有类的树状图。。在VS 2010中,您可以通过右键单击项目名称来访问这些


这些将为您提供所有类及其各自的函数和方法的概述。在这种情况下,它通常有助于我运行程序并详细了解它的功能。如果您在语言和平台方面有经验,这将为您提供一个良好的起点。然后我从主楼开始往下走。我拿出一张纸,画出我发现的任何OO东西的继承图。最好的方法通常是有序地完成它。然后我从构造函数开始,按照调用每个方法的顺序进行操作。然后,我对事件处理程序执行相同的操作。在进行大量编辑之前,请始终尽可能多地了解总体架构。如果以前的作者在VisualStudio中使用了xml文档功能,那么对象浏览器有时会很有用。在每堂课的标题处,我写下该堂课的大意。我在触摸代码之前做了所有这些。我不知道有什么工具


为将来的代码读者缓解这种情况。评论所有不是100%显而易见的事情。VS具有良好的///文档特性。

从导航、类结构和重构的角度提供了很大帮助。您还可以使用VS中的工具,例如类图。但是如果你有很多课程,那对你没有帮助。在这种情况下,ReSharper更好。Resharper具有强大的搜索功能,例如代码的使用位置。

Visual Studio 2010 Ultimate具有这种可视化工具,可以显示类、程序集等之间的关系。但是我相信它的成本很高。

有一个叫做代码火箭的工具,它可以显示代码流程图或伪代码。不幸的是,它不是免费的,而且是一个加载项,这意味着它将无法与VS2010 Express Edition一起使用

编辑
我不确定它是否可以从C#中工作,但NClass是一个免费工具:它可以与UML一起工作。UML是查看代码如何工作的另一种方式,可能值得研究

不幸的是,express版本非常有限,这就是为什么它是免费的。如果您是学生,请访问www.dreamspark.com,在证明您是学生后,您可以免费下载完整的专业版,您需要一个.edu地址

我们在工作中使用resharper,它使导航代码变得令人惊奇。。DX有一些很酷的程序,比如CodeRush,但是Resharper有更好的热键和导航控制

想象一下,按住ctrl键点击一个类型,让它带你去实现它,然后按alt+f7,所有的用法都会弹出。。我很难理解如何导航代码,但这个应用程序创造了奇迹

有关更多信息,请查看此帖子:
(现在已删除,但存档在)

+1用于重新竖琴。根据我的经验,如果软件那么大,那么VisualStudio工具就没有真正的帮助。但是,能够快速浏览并调查各种值的来源、如何调用某些代码片段等,更为有用。resharper在这方面很有帮助。@lanR堆栈跟踪也有帮助。不幸的是,它不适用于VS2010 C#Express edition:(谢谢!但目前我使用的是VS2010 C#Express edition,所以我没有类图工具的选项。你可以查看类视图Ctrl+Shift+CThanks以获取你的评论!我使用的是VS2010 C#Express edition。由于一些限制,我更喜欢免费软件!Nclass生成了不错的UML图,并且是免费的。如果有类似的东西,请推荐nks!如果我试着写在纸上,但调试我最终碰到了消息循环,我失去了它的流程。有什么想法吗?消息循环?你的意思是事件处理程序会被调用吗?你知道如何读取designer.cs文件吗?我想提问者正在寻找一个免费工具,并且正在使用VS2010 Express。实际上,你可以使用VS2010的试用版最终的30天。所以我认为它将为提问者工作。谢谢你的建议!NClass在导入dll文件时生成了体面的UML图