每个周末我都在一个个人项目上编码,该项目随着时间的流逝,该项目已经达到了一定的复杂性,在那里我有一个不同功能的序列,这些功能可以接受我的输入对象,将其切碎,对其进行处理然后最终输出。
由于我在编码会话之间进行了很大的休息,因此我通常会忘记代码的确切结构。因此,每次我有一个错误时,我都必须重新熟悉输入数据如何流过我的代码,某些提供功能性事物的模块的内部方式等。
我不确定这是由于我的软件的不良代码结构,还是只是固有的复杂性。
是否有一个工具给定源代码,从视觉上显示我的代码的"体系结构"如何,即类方法和功能如何一起工作?
理想情况下,这也可以帮助我理解其他人更快地写的代码,以快速概述单个代码的相互作用。
(如果对您有帮助的话,我正在用Pycharm进行编码。(
我恐怕没有完整的工具可以全面地可视化您的程序架构及其控制流程,您应该将它们保持在脑海中,并使软件体系结构清洁,统一和可预测。但是,有一些工具可以帮助您。
在Pycharm
中,您可以:
-
查看源代码的结构和层次结构
-
查看课程的UML图。
还有pycallgraph2
Python
模块,可以为Python
应用程序创建呼叫图可视化。(这是已终止的pycallgraph
Python
模块的维护的叉子(
和具有Python
代码可视化功能的Codimension
IDE
我找到了另一个与此问题完全匹配的工具:Sourcetrail,该工具在2019年正式支持C/C /Java/Python。下面的文本来自其官方文档:
sourcetrail是一个交互式源资源管理器,可简化在现有源代码中导航。Sourcetrail的目的是给予回答有关源代码的所有问题。源环境首先索引您的代码,并收集有关其结构的数据,然后为您提供一个简单的接口,该接口由三个交互式视图组成,每个在获取信息中都起着关键作用。
更新:Sourcetrail也是正式开源的。github链接。
2021结束前的更新: Sourcetrail现在正式停产。这是此决定的博客链接(对于记录,它仍然可以在我的Windows 11 Home Insider预览中使用OS Build 22523.1000;日期:2021-12-21(。
有一个称为"理解"的工具我认为,通过Scitools,它非常适合您的用例。这是我为正在从事的项目生成的UML。它是付费的,但您将获得免费试用。