可视化代码的架构

l7l*_*ll7 16 python architecture production-environment pycharm productivity-power-tools

每个周末我都在编写一个个人项目,随着时间的推移已经达到了一定程度的复杂性,在那里我有不同功能的序列来接受我的输入,我保存在一些类对象中,将其删除,处理它然后最后输出它.
由于我在编码会话之间做了很大的休息,我通常会忘记代码的精确结构.因此,每次我遇到错误时,我都必须重新熟悉输入数据如何在我的代码中流动,如何在一些提供功能的模块内部组织等等.

我不确定这是由于我的软件的代码结构不好,还是仅仅是固有的复杂性.

是否有一个工具,在给定源代码的情况下,直观地向我展示了我的代码的"架构",即类方法和函数如何一起工作?

理想情况下,这也可以帮助我理解其他人写得更快的代码,快速了解各个代码片段之间的交互方式.

(我用Pycharm在Python中编码,如果这对你有帮助的话.)

Ser*_*dev 11

我担心没有完美的工具来全面可视化您的程序架构及其控制流程,您应该将它们放在脑海中,使您的软件架构清洁,统一和可预测.但是,有一些工具可以帮助您.

Pycharm你可以:

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

  • 查看类的UML图

还有一个pycallgraph2 Python 模块可以为Python应用程序创建调用图可视化,并pycallgraph Python具有Codimension代码可视化功能


Zoe*_*svl 11

也许我迟到了,但我想我找到了另一个与这个问题完美匹配的工具:Sourcetrail,它在 2019 年正式支持 C/C++/Java/Python。下面的文字来自其官方文档:

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

更新:Sourcetrail 也是正式开源的。Github 链接

  • 一个很棒的工具,而且它刚刚开源,所以你也可以使用它工作 (2认同)