Python工具,为类的方法构建依赖关系图

时间:2009-04-28 14:54:27

标签: python refactoring

我正在深入研究一个拥有大量方法的庞大遗留Python类。我最终将复杂的碎片分成更小的碎片,因此方法的数量会增加更多。我想知道是否有一个工具可以扫描Python代码并为其方法构建某种依赖关系图。

如果在x()中至少调用一次y(),我将方法x()定义为方法y()的依赖项。

我可以使用这样的工具来隔离(如果可能的话)没有外部依赖关系的类方法的子集(它们的所有依赖关系都是来自同一子集的方法)。

我打算将一些功能转移到其他类中,我认为这种方法可以帮助我决定从最初的庞大类中提取哪些部分。

编辑:我真的很喜欢命令行工具。

5 个答案:

答案 0 :(得分:4)

你看过Snakefood了吗?它看起来就像你正在寻找的那样。

答案 1 :(得分:1)

你试过pydev吗?这是eclipse的python扩展。我相信它允许您使用Eclipse的“调用层次结构”功能来查看给定方法的调用图。这不是你想要的,但也许它足以开始。

答案 2 :(得分:0)

我在这个问题上也很困惑,我找到了一个搜索助手,帮助我以另一种方式找到调用层次结构。不是很好,但比donot更好。抱歉我的英语。

ps.IDE eclipse + pydev

答案 3 :(得分:0)

Pycallgraph应该做你想要的。

答案 4 :(得分:0)

刚刚开始使用pydeps,到目前为止效果很好。