我有几个类,类中有许多的字段。
某一天,被要求输出UML图。
我不喜欢在画图工具上拖拖拽拽、敲敲打打。
我画图效率是极低的。
我想找工具帮忙做这件事。
我找到了Graphviz。
我用Django的basehttp做实验:
# 安装graphviz
brew install graphviz
# 生成dot文件
pyreverse -ASmy -o dot basehttp.py
# 将dot文件转为图片
dot -Tpng classes.dot -o test.png
这样就生成一张图,图很完美,太完美了。
我惊叹,写Python HTTP Lib的人,太强大了——生成出来的图,虽然复杂,条理清晰,层次分明。
我将它用到我写的类中,结果与我想象的有些差异。
Django项目的models.py文件,会生成许多CharField、PositiveIntegerField的关联,超级杂乱。
我能否只要我想要的几个呢?
我尝试在pyreverse上面找寻帮助。
# 查看帮助
pyreverse --help
# 去掉ASmy,会只生成本文件的内容
pyreverse -o dot basehttp.py
效果并不理想。多了不行,少了也不行。
观察“.dot”文件,是文本文件。
尝试增删节点、线条,依然能够生成图片。
将2个不同文件生成的dot文件合在一起,也能够生成图片。
这让我发现了新大陆~
鉴于之前已经开始使用VS Code敲代码,再找到VS Code的dot预览插件——Graphviz Interactive Preview。
改了直接预览,方便快捷。
就这样,我写的类,很容易变成了图。
引用链接
- 带我入门的博客:blog.csdn.net/kaever/arti…
- dot语法介绍:blog.csdn.net/Geecky/arti…
- Graphviz Interactive Preview插件:marketplace.visualstudio.com/items?itemN…