Python 可视化您的代码';s架构

Python 可视化您的代码';s架构,python,architecture,pycharm,production-environment,productivity-power-tools,Python,Architecture,Pycharm,Production Environment,Productivity Power Tools,每个周末,我都在编写一个个人项目,随着时间的推移,这个项目已经达到了一定的复杂性。我有一系列不同的函数,它们接受我的输入,保存在一些类对象中,将其切碎,处理,最后输出。 由于我在编码会话之间做了大量的休息,我通常会忘记代码的精确结构。因此,每当我遇到bug时,我都必须重新熟悉输入数据是如何通过代码流动的,提供功能的模块内部是如何组织的等等 我不确定这是由于我的软件糟糕的代码结构,还是仅仅因为固有的复杂性 在给定源代码的情况下,是否有一个工具可以直观地向我展示代码的“体系结构”,即类、方法和函数如

每个周末,我都在编写一个个人项目,随着时间的推移,这个项目已经达到了一定的复杂性。我有一系列不同的函数,它们接受我的输入,保存在一些类对象中,将其切碎,处理,最后输出。
由于我在编码会话之间做了大量的休息,我通常会忘记代码的精确结构。因此,每当我遇到bug时,我都必须重新熟悉输入数据是如何通过代码流动的,提供功能的模块内部是如何组织的等等

我不确定这是由于我的软件糟糕的代码结构,还是仅仅因为固有的复杂性

在给定源代码的情况下,是否有一个工具可以直观地向我展示代码的“体系结构”,即类、方法和函数如何协同工作

理想情况下,这还可以帮助我更快地理解其他人编写的代码,从而快速了解各个代码段是如何交互的


(如果有帮助的话,我正在用Pycharm用Python编写代码。)

恐怕没有完美的工具来全面可视化您的程序体系结构及其控制流,您应该记住它们,并使您的软件体系结构干净、统一和可预测。 不过,有一些工具可以帮助您

Pycharm
中,您可以:

  • 源代码的结构和层次结构

  • 类的UML图

还有
pycallgraph2
Python
可以为
Python
应用程序创建调用图可视化。(这是中断的
pycallgraph
Python
的一个维护分支)


还有一个
Codimension
IDE
具有
Python
代码可视化功能

也许我迟到了,但我想我找到了另一个与这个问题完美匹配的工具:Sourcetrail,它。以下文字来自其官方文件:

Sourcetrail是一种交互式源代码管理器,可简化 在现有源代码中导航。Sourcetrail的目标是 回答关于源代码的所有问题。Sourcetrail 首先为代码编制索引并收集有关其结构的数据,然后 为您提供一个由三个交互式视图组成的简单界面, 每个人都在获取信息方面发挥着关键作用


更新:Sourcetrail也是正式开源的

我认为有一个叫做“理解”的工具非常适合您的用例。这是我为一个正在进行的项目生成的。它是付费的,但你可以免费试用。

你知道其他工具/IDE(即使是非Python的,比如Visual Studio)是否有更好的可视化技术吗?嗯,我个人喜欢
Creole
Eclipse
Java程序的插件可视化,但它现在已经过时了。您还可以查看
源代码导航器
工具、
控制流图工厂
源代码可视化工具
插件这是一个很棒的工具,而且它刚刚开源,所以您也可以使用它