【问题标题】:Visualizing your code's architecture [closed]可视化代码的架构 [关闭]
【发布时间】:2018-09-13 18:55:24
【问题描述】:

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

我不确定这是由于我的软件代码结构错误,还是由于固有的复杂性。

是否有一种工具可以根据源代码直观地向我展示代码的“架构”,即类方法和函数如何协同工作?

理想情况下,这也有助于我更快地理解其他人编写的代码,以便快速了解各个代码片段如何交互。

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

【问题讨论】:

    标签: python architecture pycharm production-environment productivity-power-tools


    【解决方案1】:

    恐怕没有完美的工具可以全面可视化您的程序架构及其控制流程,您应该将它们牢记在心,并使您的软件架构干净、统一和可预测。 但是,有一些工具可以帮助您。

    Pycharm 你可以:

    • view源码的结构和层次

    • view你的类的UML图。

    还有pycallgraph2 Python module 可以为Python 应用程序创建调用图可视化。 (这是已停产的pycallgraphPythonmodule的维护分支)

    还有CodimensionIDEPython代码可视化feature

    【讨论】:

    • 您知道其他工具/IDE(甚至非 Python,例如 Visual Studio)是否集成了更好的可视化技术?
    • 好吧,我个人喜欢Creole Eclipse 插件可视化Java 程序,但现在已经过时了。你也可以看看Source Navigator工具,Control Flow Graph FactorySourcecode VisualizerEclipse插件
    【解决方案2】:

    我找到了另一个与这个问题完全匹配的工具:Sourcetrail,officially supports C/C++/Java/Python in 2019。以下文字来自其官方文档:

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

    更新:Sourcetrail 也是正式开源的。 Github link.

    2021 年结束前更新:Sourcetrail 现已正式停产。这是关于此决定的blog link(作为记录,它在我的操作系统版本为 22523.1000 的 Windows 11 Home Insider Preview 上仍然运行良好;日期:2021-12-21)。

    【讨论】:

      【解决方案3】:

      scitools 有一个名为“了解”的工具,我认为它非常适合您的用例。这是我为正在处理的项目生成的UML。它已付费,但您可以免费试用。

      【讨论】:

        猜你喜欢
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        • 2011-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-26
        相关资源
        最近更新 更多