news 2026/5/2 3:12:25

Understand——根据代码自动生成类图的工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Understand——根据代码自动生成类图的工具

推荐Understand软件。
看开源代码的时候,不免要自己手动绘制类图,但是太繁琐和麻烦了,但是没有这些类图,在大脑中就无法建立立体的画面,就想着有没有类图自动生成的软件工具,有很多,其中Understand不错。
关键的是Understand还是个代码编辑器,和vscode一样,只是没有vscode那样的插件生态。

跳转啥的都是crtl+鼠标左击。

1 软件下载

软件网上找的,传到网盘,如下:
通过网盘分享的文件:understand
链接: https://pan.baidu.com/s/1cXTwQ3oEUEjc0GxsUi8btA?pwd=rdvh 提取码: rdvh

2 创建project



按照它的提示一路下去即可。

3 源码统计

创建完新project后,它自己先分析,最后会给出结果,

以videopipe源码分析为例如下统计:

可以看到它能统计多少行代码,注释多少行,空白多少个,未激活代码多少行,宏多少行,多个类,多少个函数,多少个文件等等等等。

4 自动生成类图

在工具栏中的Graphs ——> UML Class Diagram ——> By Directory Structure:

它会分析并生成目录下源文件的所有类图,如下局部:

4.1 ctrl+f搜索类名

4.2 类图显示选项

选中某个类图的类名字,右击有如下选项:

Entity: vp_analysis_board
实体:vp_analysis_board(当前分析的实体/模块名称)
该选项可以跳转到该鼠标所在的类名或者类的成员的定义之处等。

Graph
类图显示方式

Highlight Edges Out
高亮传出连接​ / 高亮出边(高亮从该节点指向其他节点的连线)

Highlight Edges In
高亮传入连接​ / 高亮入边(高亮从其他节点指向该节点的连线)

Hide
隐藏(隐藏当前选中的节点或元素)

Show Children(前面有勾选标记 ✓)
显示子项​ / 显示子节点(当前已启用,表示会显示该实体的下属/子级元素)

4.2.1 类实体选项


View Information
查看信息(显示文件的详细属性、路径、复杂度等)

Graphical Views
图形化视图(打开各种图表,如依赖图、继承树等)

View Dependencies
查看依赖(分析该文件引用了谁,或被谁引用)

Interactive Reports
交互式报告(生成可点击的代码度量报告)

Edit Definition
编辑定义(直接打开代码编辑器修改该文件)

Add to Favorites
添加到收藏

Compare
比较(与另一个文件进行代码差异比对)

Add to Architecture…
添加到架构…(将该文件归类到某个架构视图中)

Remove from Architecture
从架构中移除

Annotate
注释 / 标注(显示代码的版本历史或作者标记)

Refactor
重构(对代码进行重命名、提取方法等重构操作)

Explore
探索(快速浏览相关代码)

Find In…
在…中查找(例如在整个项目中搜索该文件或符号)

Browse Metrics
浏览度量(查看代码复杂度、行数、扇入扇出等技术指标)

Copy Fullname
复制完整名称(复制文件的完整路径或全限定名)

该实体可以是类名可以是类的成员,就看你的鼠标在哪里左击,然后右击弹出菜单。

举例1:鼠标在类名上左击后右击

然后会跳转到工程里如下:

举例2:鼠标在类的成员上左击后右击

4.2.2 类图显示选项


Aggregate Nodes by(按…聚合节点),是类图显示的排列方式。
Include Standard Libraries:包含标准库(指将系统自带的库文件也纳入聚合)。
Layout:布局(可能指按照某种布局算法来聚合)。
Show Class Details:显示类详情。
Show Related Classes:显示相关类。
Show Return Type:显示返回类型。
Show Solo Classes:显示独立的类(不参与聚合的单例类)。

4.2.2.1 类图显示排列顺序

在类图页面的任何地方右击,选择Graph的Aggregate Nodes by,如下

选择Architecture: Directory Structure会按照文件在文件夹(目录)中的物理存储结构来组织和聚合显示节点。
所以,它会按照目录下聚合显示各个节点(类图生成):

不过我发现它可以按照目录下个各个类进行排列,不影响继承关系,但是目录下多个类(多个类定义文件)时,它只选择一个名字显示,但是只是显示名字可能不太对而已,如上图显示的vp_expr_check_node.h,这2个类在2个h,但它只显示vp_expr_check_node.h,无伤大雅, 不影响跳转。

4.2.2.2 类图显示包含标准库

关闭标准库的类图显示,会轻量许多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 3:11:24

2026全球化运营:数据治理成核心门槛,六家主流厂商四维选型指南

一、全球化运营的下一道门槛:数据治理2026年,企业全球化已从“市场拓展”进入“深度运营”阶段。当业务版图跨越多个国家和地区,一个被反复验证的挑战浮出水面:数据治理能力,正在成为制约全球化效率的核心变量。这背后…

作者头像 李华
网站建设 2026/5/2 3:09:24

09. AI 未覆盖风险解释 Prompt 模板

付费阅读前说明 这篇文章交付的是一套可落地的方法、模板和判断框架,而不是泛泛的概念介绍。你会看到:适用场景、具体步骤、字段/表格/Prompt/清单、案例推演、常见误区和边界说明。 本文不承诺提供可直接商用的一键部署源码,也不替代你所在团队的技术评审和安全合规流程。…

作者头像 李华
网站建设 2026/5/2 3:06:24

快速掌握网络分析仪差分信号4端口信号S参数测试

1. 差分信号S参数概述 S参数‌:描述线性网络在频域内的反射与传输特性,以复数形式表示幅度和相位。‌差分S参数‌:采用‌混合模式S参数‌(Mixed-Mode S-Parameters)表示,包括: ‌SDD‌&#xf…

作者头像 李华
网站建设 2026/5/2 3:06:24

AI抠图哪个软件好用?2026年最全对比指南,终于找到一款真正好用的

你是不是也经常为抠图发愁?换个证件照背景色要折腾半天,商品图去背景得用专业软件,人像发丝级细节更是难上加难。前段时间,我试了十几款AI抠图工具,终于找到了真正好用的方案,今天就跟你们坦白说说。我的抠…

作者头像 李华
网站建设 2026/5/2 3:04:26

告别无效断点!手把手教你用‘线程发包’原理逆向分析游戏功能(以喊话/动作为例)

告别无效断点!逆向工程中的线程发包破解实战 当你在游戏逆向分析中兴奋地找到发包函数并设置断点,却发现无论触发什么动作都断在相同位置时,那种挫败感就像拿着万能钥匙却打不开任何门锁。这种现象背后,往往隐藏着游戏开发者设置的…

作者头像 李华
网站建设 2026/5/2 3:00:24

构建私有Docker镜像仓库:加速开发与CI/CD部署实践

1. 项目概述:一个为开发者量身定制的Docker镜像仓库如果你和我一样,日常开发中经常需要拉取各种Docker镜像,无论是用于搭建本地开发环境、测试开源项目,还是部署自己的应用,那么你一定对Docker Hub的访问速度深有体会。…

作者头像 李华