8

最近加入了一个需要处理大量代码的项目,我想开始通过调用图记录和可视化一些流程,以便更好地了解所有内容如何组合在一起。这是我希望在我的理想工具中看到的:

  • 每个节点都是一个函数/方法
  • 如果一个函数可以调用另一个函数,则节点是连接的
  • 在进行调用的详细条件之间的可选方框(或您可以像工具提示一样悬停在上面的标签图标)
  • 还有描述参数的边缘图标
  • 将鼠标悬停在节点上并显示描述
  • 节点显示伪代码的可选图标
  • 场景/域视图 - 显示特定用例的完整图表子集
  • 幻灯片查看模式 - 对于每一帧,当前正在执行的函数被突出显示
  • 有很多关于显示内容的选项,以减少屏幕上的混乱

这种工具的交互使用是关键,我不是在寻找 Graphviz 类型的解决方案,因为会有太多的混乱。形成整个图的子集视图的能力将非常方便(也许不重要的杂波变灰了)。不需要从源代码自动生成,很高兴手动输入。

几乎就像一个思维导图。

那有意义吗?如果您不知道这样的工具,您是否也认为它有用?(以防万一我决定有一天去挠痒痒!)

4

2 回答 2

1

您没有提及您正在使用的环境,但如果它是 .NET,NDepend可能会派上用场。

于 2011-01-12T15:30:27.253 回答
0

To develop further the answer of Willem van Rumpt, with the tool NDepend, you can indeed obtain a call graph like this one. Disclaimer: I am one of the developers of the tool

Call graph

For that you just need to export to the graph the result of a CQLinq code query:

code query exporting

Such a code query, can be generated actually for any method, thanks to the right-click menu illustrated below.

Select methods that use me directly or indirectly

于 2012-06-14T07:15:32.847 回答