我正在维护一个Python程序,并且正在努力理解各个类之间的关系。我认为查看类如何交互的图表会很有帮助。
有哪些选项可以让我这样做?
答案 0 :(得分:2)
只需2美分。
像Case tools这样的{p> Enterprise Architect可以从python代码生成类图,但是为了理解,我更喜欢手工粗略地建模类和关系。当我想了解新代码时,我也使用UML,粗略地概述了类之间的协作,并获得了继承heirachies的视图。
大多数IDE都有探索代码的方法,但我发现小的有凝聚力的UML图更容易消化和记忆。
我还发现在类图上更容易理解领域模型。
答案 1 :(得分:1)
如果您正在寻找具有该功能的IDE,那么:
答案 2 :(得分:1)
gaphor有一个导入python模块并生成uml类图的功能,无论如何它都不太好。
无论如何,python上的代码分析工具不能很好地工作,因为没有人能够“预测”哪些参数将被函数传递(或返回)等等。他们中的大多数人“猜测”通过的类型。
希望带有“功能注释”的python 3可以解决这种“问题”
答案 3 :(得分:1)
好问题!根据您的实际操作方式,您可以考虑在运行代码时使用跟踪模块。
python -m trace -T yourprogram.py
会给你谁叫谁的信息。您可以解析此问题,也可以编写一些以编程方式使用跟踪来提取调用图的代码。
一旦完成,有点dot黑客,你就有了图表。一旦你完成了这个,就会发表一篇很酷的博客文章,介绍你做了什么以及它是如何运作的。
答案 4 :(得分:1)
结帐epydoc。它通常被认为是文档生成器,但请查看此示例中的(自动生成的)图形:
http://epydoc.sourceforge.net/api/epydoc.apidoc.RoutineDoc-class.html
答案 5 :(得分:0)
如果是Django,你也可以
./manage.py graph_models
如果您使用的是Django Command Extenstions