Python程序中可视化类关系有哪些选项
我正在维护一个Python程序,但对里面各种类之间的关系感到困惑。我觉得如果能看到一个图,展示这些类是怎么互动的,会对我有帮助。
有没有什么方法可以让我做到这一点呢?
6 个回答
1
这是个很好的问题!根据你对代码的熟悉程度,你可以考虑在运行代码时使用trace模块。
python -m trace -T yourprogram.py
这个模块会告诉你是谁调用了谁。你可以自己分析这些信息,或者写一些代码来使用trace,自动提取你的调用图。
完成这些后,稍微动动手用dot语言,就能得到一个图表。做完这些后,你可以写一篇很酷的博客,分享你做了什么以及结果如何。
1
可以看看 epydoc。它通常被认为是一个文档生成工具,但在这个例子中,看看它自动生成的图表:
http://epydoc.sourceforge.net/api/epydoc.apidoc.RoutineDoc-class.html
3
我来分享一下我的看法。
像案例工具这样的工具,比如Enterprise Architect,可以从Python代码生成类图。不过为了更好地理解,我更喜欢手动粗略地绘制类和它们之间的关系。
我在想要理解新代码时也会使用UML,这样可以大致了解类之间的合作关系,以及继承的层次结构。
大多数集成开发环境(IDE)都有查看代码的功能,但我觉得小而简洁的UML图更容易理解和记忆。
我还发现,当在类图上展示领域模型时,更容易理解。