首页>软件资讯>常见问题

常见问题

程序员必备的代码阅读工具Scitools Understand

发布时间:2024-01-16 14:36:00人气:1580

Scitools Understand

概述

Scitools Understand 是一款功能强大的软件度量和可视化工具,它可以帮助开发者深入理解及分析C/C++代码,提高代码质量和开发效率。


功能介绍

代码统计分析

Understand 可以统计代码的各种指标,如行数、复杂度、注释率等,直观判断代码质量。


图形化展示

Understand 可以以各种图形方式展示代码结构、调用关系、变量流程等,便于快速掌握代码架构。

通过 Understand 可以生成下列图表:


声明关系图

继承关系图

控制流图

依赖关系图

UML 类图

树形关系图

自定义图表

代码检查

Understand 支持检查代码是否符合代码的国际标准(如MISRA-C2004,MISRA-C++2008等),或者您自己自定义的检查标准,如企业的代码规范等。


依赖关系分析

依赖关系浏览器具备以下特点:


文件及结构依赖关系快速浏览

依赖/被依赖关系、Butterfly 图

依赖关系图表导出

可以生成各种依赖关系图表,其结果可以保存为 PNG、JPEG、SVG 等。

代码编辑器

Understand 提供了可以维护和理解代码的编辑器,可以更容易、更高效的进行代码的编辑;同时,该编辑器还支持自定义的设定,满足开发人员的工作需要。


使用说明

概述

以 ffmpeg 中的开源播放器 ffplay 源码为例对  Understand 使用进行说明。


新建项目

新建一个项目:

新建项目.png

选择要分析的源码目录:

选择源码目录.png

选择不编译代码:

选择不编译代码.png

选择保存位置后即可创建一个 Understand 工程:

1705385688111453.png

代码分析

信息浏览

信息浏览器中包含了源码文件中包含的方法、结构体、变量等信息,双击即可定位到代码中位置:

信息浏览.png

Butterfly 图

概述

Butterfly 图用来表示函数间的调用关系。


操作示例

定位到 main 函数,右键选择 Butterfly:

操作.png

即可查看 main 中调用了哪些函数:

查看调用的函数.png

Control Flow 图

概述

Control Flow 图用来表示函数内部的执行流程。


操作示例

定位到 main 函数,右键选择 Control Flow:

定位到函数.png

UML Sequence Diagram

概述

UML Sequence Diagram 用来展示两个实体之间的时序关系图。


操作示例

定位到 main 函数,右键选择 UML Sequence Diagram:

Scitools Understand.png

UML Class Diagram

概述

UML Class Diagram 用来展示这个项目中或者一个文件中定义的类以及与这个类关联的类。


操作示例

双击定位到结构体 clock,右键选择 UML Class Diagram:

右键选择 UML Class Diagram.png

即可查看  clock 的 UML 图:

即可查看.png


上一条:嵌入式代码查看分析利器-Understand

下一条:源码分析神器-Understand的使用教程