代码阅读分析神器-Scitools Understand

这里写目录标题

    • 前言
    • 概要
    • 功能介绍
      • 1.代码统计
      • 2.图形化分析
      • 3.代码检查
    • 使用方法
    • 下载及使用

前言

作为一名程序员,阅读代码是一个必须要拥有的能力,但无奈很多代码逻辑嵌套非常多,看起来非常吃力,看了那段逻辑就忘记了刚才的逻辑,非常头疼。今天给大家推荐一款功能强大的代码逻辑分析工具,能以图像化的方式来生成项目的逻辑流程,简直就是款神器!

概要

Scitools Understand是一款强大的静态代码分析工具,它能够帮助开发者理解、维护、检查和测量他们的源代码。这款工具支持多种编程语言,包括C/C++、Java、Javascript、Python、Ada等。

Scitools Understand提供了多种特性来解决开发者在日常工作中遇到的问题:

代码浏览: Scitools Understand提供了强大的搜索和导航功能,使开发者能够快速查找和定位源代码中的特定部分。例如,它可以显示代码的类、函数、变量等元素,并提供跳转到定义或引用的功能。
代码度量: Scitools Understand能够计算出各种代码度量,如类复杂性、函数长度、代码行数等。这些度量可以帮助开发者了解代码的复杂度和质量,从而更好地进行代码维护和优化。
代码可视化: 通过生成各种图表(如类图、调用图等),Scitools Understand能够帮助开发者直观地理解代码的结构和关系。这对于理解大型复杂项目的架构和设计特别有用。
代码检查: Scitools Understand还包含了一种强大的代码检查工具,可以检测出代码中的潜在问题,如空指针引用、内存泄漏等。这有助于提高代码的稳定性和安全性。

功能介绍

1.代码统计

Understand能够统计代码中的各项数据,例如代码行数,代码复杂度以及注释率等等。可能我们平时更关注的是代码行数吧。不仅可以统计某个文件中代码的行数,还可以统计某个函数的代码行数

2.图形化分析

Understand可以以图形化的形式分析代码流程以及逻辑关系,生成各种图形化界面,例如Butterfly图,调用关系图,控制流图,变量声明图,UML时序图,UML类图,依赖关系图等等

  • Butterfly 图

  • 调用关系图

  • 控制流程图

  • 变量声明图

  • UML时序图

  • UML类图

  • 依赖关系图
    被依赖图

依赖图

3.代码检查

Understand可以检查代码是否符合国际标准,或者公司/个人制定的代码检查规范等等。

使用方法

  1. 新建项目
    File->New->Project

填写项目名称及保存路径

选择编程语言

添加源码

  1. 浏览信息

浏览信息栏,既可以点击文件来浏览,也可以选择某个函数来浏览,直接鼠标点击你想要浏览的东西即可。

  1. 各种图表
    如果需要生成前面提到的各种图表,只需要鼠标右单击->Graphical Views,选择需要的图表即可

  2. 统计信息

点击某个文件或者函数,右单击选择Browse Metrics,即可在下方浏览文件或函数的统计信息了。


关于Scitools Understand,还有很多强大的功能,可以自己慢慢去探索。

下载及使用

Understand这款工具是需要收费的,但作为个人很少有人会选择为一款开发软件付费,所以为大家准备了pojie版,需要的可以关注公众号 程序员DeRozan,回复1207免费获取哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 集成 AKKA

文章目录 应用场景与 SpringBoot 集成示例 应用场景 AKKA 是一个用于构建高并发、分布式和容错应用程序的开源框架。它基于Actor模型,提供了强大的并发抽象和工具,适用于各种业务场景。以下是一些使用AKKA框架的常见业务场景的示例: 实时数据…

WordPress还原重置插件WP Reset 教程!

这是一篇完整的 WordPress 还原教程,我们将使用一款插件,快速重置整个 WordPress 网站。 有时在安装不同主题、网站插件后,可能会导致程序码彼此的冲突,而让网站出现跑版、错误等 ..,这时直接重新来过可能反而比较快一…

命令执行(rce)

1.命令与代码执行原理 命令执行原理 参数给变量未经过滤,直接使用了不安全的函数处理了变量 127.0.0.1&&ipconfig 有漏洞 常用的函数 assert,system,exec,shell_exec, eval,(反单引号) 代码执行原理 参数给变量未经过滤&#xff…

56块钱搭建一个ubuntu 2204 linux 服务器

硬件pdd上淘的一个linux小盒子 应该是以前的机顶盒之类的 实物图如下 今天刚收到小盒子 找了个显示器 键盘 查到小盒子上通电 本来指示灯应该亮的 老板刷机之后 led灯都不亮了 不知道有没有开机 我还以为坏了 刚开始 然后直接连到显示器上 有输出 那说明没问题…

【C语言】进阶——结构体+枚举+联合

①前言: 在之前【C语言】初阶——结构体 ,简单介绍了结构体。而C语言中结构体的内容还有更深层次的内容。 一.结构体 结构体(struct)是由一系列具有相同类型或不同类型的数据项构成的数据集合,这些数据项称为结构体的成员。 1.结构体的声明 …

Ubuntu 安装PostgreSQL

网上有各种版本的,也可以去官网看官方的文档。我是下载的PostgreSQL-11.4版本的。找到以后直接复制网上的压缩包链接就可以。 $ mkdir /opt/postgresql && cd /opt/postgresql $ wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz…

数据结构学习笔记——查找算法中的树形查找(平衡二叉树)

目录 一、平衡二叉树的定义二、平衡因子三、平衡二叉树的插入和构造(一)LL型旋转(二)LR型旋转(三)RR型旋转(四)RL型旋转 四、平衡二叉树的删除(一)叶子结点&a…

初学vue.js

准备Vue.js环境 ① 下载环境: javaScript语言的程序包:外部js文件 对于Vue来说,导入Vue的外部js文件就能够使用Vue框架了。 Vue框架的js文件获取: 官网提供的下载地址:https://cdn.jsdelivr.net/npm/vue/dist/vue.js ②导入环境…

短视频矩阵系统,短视频矩阵源码技术

1、抖音开放平台申请账号,快手平台申请账号;阿里云混剪接口。 2、系统总台支持OEM代理,可以按点数管理。 3、代理功能。包括是否允许再次开二级代理、是否允许OEM等。 4、可支持一条龙搭建服务,抖音平台开放平台代申请等 开发…

C++:优先级队列模拟实现和仿函数的概念使用

文章目录 使用方法Compare仿函数一些场景模板参数和函数参数 本篇总结优先级队列 使用方法 首先在官网查看它的一些用法 template <class T, class Container vector<T>,class Compare less<typename Container::value_type> > class priority_queue;从…

【RabbitMQ实战】05 RabbitMQ后台管理

一、多租户与权限 1.1 vhost的概念 每一个 RabbitMQ服务器都能创建虚拟的消息服务器&#xff0c;我们称之为虚拟主机(virtual host),简称为 vhost。每一个 vhost本质上是一个独立的小型RabbitMQ服务器&#xff0c;拥有自己独立的队列、交换器及绑定关系等&#xff0c;并且它拥…

Pycharm2023版修改镜像源

步骤1 步骤2 国内常见镜像源 阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学 http://pypi.mirrors.…

腾讯mini项目-【指标监控服务重构】2023-08-29

今日已办 Collector 指标聚合 由于没有找到 Prometheus 官方提供的可以聚合指定时间区间内的聚合函数&#xff0c;所以自己对接Prometheus的api来聚合指定容器的cpu_avg、cpu_99th、mem_avg 实现成功后对接小组成员测试完提供的时间序列和相关容器&#xff0c;将数据记录在表格…

01 MIT线性代数-方程组的几何解释

一, 线性方程的几何图像 The geometry of linear equations 线性代数的基本问题就是解n元一次方程组 eg&#xff1a;二元一次方程组 矩阵形式: 系数矩阵(coefficient matrix): 未知数向量: 线性方程组简记为Axb 二, 行图像 Row Picture 行图像遵从解析几何的描述&#xff0…

离散小波变换(概念与应用)

目录 概念光伏功率预测中,如何用离散小波变换提取高频特征概念 为您简单地绘制一些示意图来描述离散小波变换的基本概念。但请注意,这只是一个简化的示意图,可能不能完全捕捉到所有的细节和特性。 首先,我将为您绘制一个简单的小波函数和尺度函数的图像。然后,我会提供一…

放弃webstrom转战vscode

本来是webstrom的忠实用户&#xff0c;无奈webstrom要么需要在网上找一个破解版或者不断的去找激活码&#xff0c;且破解版和激活码的文章总是很多&#xff0c;但是要找到真正有效的却总是要花费不少功夫。终于忍无可忍&#xff0c;转战vscode。&#xff08;注&#xff1a;文中…

SpringBoot全局异常处理源码

SpringBoot全局异常处理源码 一、SpringMVC执行流程二、SpringBoot源码跟踪三、自定义优雅的全局异常处理脚手架starter自定义异常国际化引入封装基础异常封装基础异常扫描器&#xff0c;并注册到ExceptionHandler中项目分享以及改进点 一、SpringMVC执行流程 今天这里叙述的全…

华为OD机考算法题:分积木

目录 题目部分 解读与分析 代码实现 题目部分 题目分积木难度难题目说明Solo和koko是两兄弟&#xff0c;妈妈给了他们一大堆积木&#xff0c;每块积木上都有自己的重量。现在他们想要将这些积木分成两堆。哥哥Solo负责分配&#xff0c;弟弟koko要求两个人获得的积木总重量“…

ROS2 从头开始:第 08/8回 - 使用 ROS2 生命周期节点简化机器人软件组件管理

一、说明 欢迎来到我在 ROS2 上的系列的第八部分。对于那些可能不熟悉该系列的人,我已经涵盖了一系列主题,包括 ROS2 简介、如何创建发布者和订阅者、自定义消息和服务创建、

LLM - Make Causal Mask 构造因果关系掩码

目录 一.引言 二.make_causal_mask 1.完整代码 2.Torch.full 3.torch.view 4.torch.masked_fill_ 5.past_key_values_length 6.Test Main 三.总结 一.引言 Causal Mask 主要用于限定模型的可视范围&#xff0c;防止模型看到未来的数据。在具体应用中&#xff0c;Caus…