文档章节

分析go项目源码,采用plantuml自动生成uml类图

qquunn
 qquunn
发布于 2017/04/17 23:03
字数 316
阅读 932
收藏 12

使用工具go-package-plantuml分析go项目源码,自动生成uml类图

plantuml工具介绍

plantuml支持将“文本描述的UML类图”转换成图片形式的类图等。

类图使用例子如下,参考 http://plantuml.com/class-diagram

@startuml
Class11 <|.. Class12
Class13 --> Class14
@enduml

安装go-package-plantuml

go-package-plantuml 项目代码地址 https://git.oschina.net/jscode/go-package-plantuml

下载和编译项目:(系统需要先安装好go编译环境)

go get git.oschina.net/jscode/go-package-plantuml

go build git.oschina.net/jscode/go-package-plantuml

使用go-package-plantuml分析go项目,生成uml类图描述文件

./go-package-plantuml --codedir /appdev/gopath/src/github.com/contiv/netplugin \
--gopath /appdev/gopath \
--outputfile  /tmp/result \
--ignoredir /appdev/gopath/src/github.com/contiv/netplugin/vendor

参数说明
--codedir 要分析的代码目录
--gopath GOPATH环境变量目录
--outputfile 分析结果保存到该文件
--ignoredir 不需要进行代码分析的目录(可以不用设置)

使用plantuml生成类图

下载plantuml https://nchc.dl.sourceforge.net/project/plantuml/plantuml.jar

提示:如果系统没有安装jdk,需要先安装jdk;yum install -y java

执行下面命令生成图片形式的类图/tmp/uml.png

java -jar plantuml.jar /tmp/text.uml

如果想生成svg格式的文件,使用-tsvg参数。svg格式的文件,使用浏览器打开,可以搜索类名。

java -jar plantuml.jar /tmp/text.uml -tsvg

 

© 著作权归作者所有

qquunn
粉丝 7
博文 27
码字总数 6143
作品 0
广州
私信 提问
使用Roslyn的C#语言服务实现UML类图的自动生成

最近在项目中实现了一套基于Windows Forms的开发框架,个人对于本身的设计还是比较满意的,因此,打算将这部分设计整理成文档,通过一些UML图形比如类图(Class Diagram)来描述整个框架的设...

dotNET跨平台
2018/09/12
0
0
PlantUml入门(一)

PlantUML的用法还是比较简单的,首先安装好 Graphviz,然后安装plantuml的eclipse插件 安装好之后从eclipse的菜单windows-->show view-->Other里找到plantuml,打开plantuml视图。 注意那个绿...

xu81.com
2012/02/10
15.1K
0
自定义PlantUML和C4Model的样式

什么是PlantUml PlantUml是一个支持快速绘制的开源项目.其定义了一套完整的语言用于实现UML关系图的描述.并基于强大的graphviz图形渲染库进行UML图的生成.绘制的UML图还可以导出为图片,以及通...

假正经哥哥
2019/03/18
211
0
使用 Emacs 创建 OAuth 2.0 的 UML 序列图

看起来 OAuth 2.0 框架 已经越来越广泛地应用于 web (和 移动) 应用。太棒了! 虽然协议本身并不复杂,但有很多的使用场景、流程和实现可供选择。正如生活中的大多数事物一样,魔鬼在于细节之...

作者: Peter Mosmans
2019/03/02
0
0
ubuntu安装PlantUML

安装graphviz 这是PlantUML依赖的图形库,支持所有OS, 可以在此下载 http://graphviz.org/Download..php ubuntu平台可以直接到这里:https://launchpad.net/~gviz-adm/+archive/ubuntu/gra...

cyper
2015/07/07
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

IT小白们进击前端工程师的学习路线:编辑器,基础进阶学习要点,框架

一、HTML、CSS基础、JavaScript语法基础。学完基础后,可以仿照电商网站(例如京东、小米)做首页的布局。 二、JavaScript语法进阶。包括:作用域和闭包、this和对象原型等。相信我,JS语法,...

梦想编程
19分钟前
57
0
ZhaoWei-2020-01-19

Dubbo Dubbo是一个分布式服务治理框架,提供高性能和透明化的RPC远程服务调用方案及 SOA架构治理方案。 远程通信 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及 ...

SuSheePark
22分钟前
30
0
Python文件的常见标头格式是什么?

在有关Python编码准则的文档中,我遇到了以下Python源文件的头格式: #!/usr/bin/env python"""Foobar.py: Description of what foobar does."""__author__ = "Barack Obama"__cop......

javail
26分钟前
22
0
Linux 安装 jq

先下载jq安装包 https://stedolan.github.io/jq/download/将下载的安装包文件jq-linux64 拷贝到服务器下 wget -O jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-li......

乐易林谷
30分钟前
82
0
Elasticsearch深入:Refresh和Flush区别@

整体流程: 数据首先写入Buffer缓冲和Translog日志文件中。 当你写一条数据doc的时候,一方面写入到mem buffer缓冲中,一方面同时写入到translog日志文件中。 buffer满了或者每隔1秒(默认1秒...

HLee
34分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部