我继承了一个巨大的代码库,我需要进行一些小的更改。我想知道是否有一些公用事业可以解析python代码并在功能之间提供依赖性,就像我是否对功能进行更改,我想确保我不违反其他功能,因此,如果我可以在图中看到类似的图表,会让我的生活更轻松。

有帮助吗?

解决方案

  • 通常为模块 /软件包导入定义“依赖关系”。
  • 您正在寻找的是可视化呼叫流。

  • 您仍然不能保证您不会破坏功能:)

  • 我的经验和解决方案:

    很多时候,我发现呼叫流数据不堪重负,并且图太复杂了。因此,我通常要做的是对函数的部分跟踪呼叫流部分,我对此感兴趣。

    这是通过使用SYS.SetTrace(...)函数来完成的。生成呼叫流作为文本数据后,我使用graphviz生成呼叫图。

编辑:根据评论

然后,我的零碎解决方案效果更好。只需插入代码并在要跟踪的函数上使用装饰器即可。您会看到延期出现的差距,但可以解决。您将不会直接获得完整的图片。

我一直在尝试这样做,并做了一个 很少有人帖子 这对这种理解有用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top