当前位置: 首页 > news >正文

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 类图显示包含标准库

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

http://www.jsqmd.com/news/735626/

相关文章:

  • EpiQAL评测基准:提升AI在公共卫生领域的专业性与时效性
  • Transformer算法核心:功能等价性与模型收敛机制解析
  • AI时代,济南企业如何借力GEO优化抢占流量先机?
  • Android蓝牙开发深度指南:从基础到实践
  • [图解]CF2226D-Reserved Reversals
  • Java基础·第5篇:Java多态——不用再写三个重载方法了!
  • 014浮点算术模拟
  • LLM学习-day04
  • 利用MCP协议实现App Store Connect自动化管理:从API封装到AI助手集成
  • 5大实用技巧:用LinkSwift实现多网盘高效下载
  • Ostrakon-VL-8B开发者案例:通过API接入钉钉机器人,违规项实时推送负责人
  • AI抠图去除背景完全攻略:2026年最实用的工具推荐与使用技巧
  • Source Han Serif CN:开源中文字体的终极解决方案与完整应用指南
  • XDM浏览器插件高级配置指南:网络监控与下载管理技术深度解析
  • UVa 12409 Kisu Pari Na 1
  • AI代理如何重塑项目管理:从自然语言到Jira工单的自动化实践
  • Arm Neoverse MMU S3架构解析与性能优化
  • 深搜练习(目标和)(6)
  • 快速掌握网络分析仪差分信号4端口信号S参数测试
  • 如何安全备份微信聊天记录?3步完成数据解析与恢复的终极指南
  • 账单追溯功能如何帮助厘清团队成员的模型使用明细
  • Go语言爬虫工具claw-tools:高并发数据抓取与自动化实战指南
  • MCP:破解大模型困境的更优解,重构AI与世界的交互范式
  • 使用 context 工具管理命令执行环境:提升开发与自动化效率
  • 终极二维码修复工具:QRazyBox让失效二维码快速重获新生
  • 深搜练习(组合总和)(7)
  • 2026年专业旧房改造装修公司实力排行盘点:三室两厅两卫装修实景,公寓装修小户型装修公司,优选推荐! - 优质品牌商家
  • Figma中文界面终极指南:3分钟解锁全中文设计体验
  • AI抠图哪个软件好用?2026年最全对比指南,终于找到一款真正好用的
  • AI+行业:不是魔法,但比魔法更有趣