首页 > 编程知识 正文

understand代码分析工具,懒人神器静态评论

时间:2023-05-05 04:49:02 阅读:112610 作者:2018

以前使用Windows系统,一直在source insight上看代码非常方便。 但是,年前搬到mac下,虽然很多东西变得方便了,但是静态代码分析工具不见了,真是万幸。 在此期间,我们找到了一个比source insight软件更强大的代码静态分析工具。 神器被称为-understand。 该软件具有强大的代码静态分析功能,可以创建各种流程图。 很遗憾,没有找到Windows版本。 我只看了mac版和Linux版。 因此,使用Windows系统的朋友很抱歉。

我工作很忙,还没有时间详细研究使用方法。 只是简单地理解了。 该软件有助于快速分析代码结构的流程。 因此,我想和大家一起研究,一起学习。 以下,对该软件进行初步说明。 之后,详细说明。 软件是英语的,有问题的话请指出来。 我马上改正。

因为安装很简单,所以这里不说。 直接进入工程配置说明。

可以通过在菜单栏中单击“filenewproject”或单击以下界面中央的“New Project”来导入项目

单击可进入以下界面: 您可以将项目名称更改为要导入的项目名称,以便稍后轻松查找。 也可以直接导入正在开发的项目。 代码更改后,此项目也会自动更新,可以立即开发。 不需要每次都导入。

重命名后单击“Next”进入以下界面: 在此界面中,可以选择要导入的项目包含哪些语言。 请注意。 C/C后面有两种模式,下面有评论。 其中,严格模式包含Object-C、Object-C和Web注释。 请自己看。 这里不说明。

然后单击Next进入下一个界面。

在此画面中单击上面的“Add a Directory”。 也就是说,添加导入项目的路径。 单击后,将显示与以下内容类似的画面。 此时,上面的画面中有隐藏着的奇怪的事情。 松开此画面后,将显示以下画面。

单击后面有三个点的按钮选择要加入的项目文件夹。 在这里不需要打开文件夹。 请单击中文件夹,然后单击open按钮:

此时,只要单击OK,界面就会跳至下一个界面。

此时,有两个选择。 一个是立即分析代码,另一个是选择配置。 对我们来说只要默认就可以了。 然后点击确定按钮。 此时,软件将开始分析代码,分析完成后将显示以下界面:

左边是你的项目结构,中间是你项目的名字,这个时候,你可以操作左边的项目查看相关代码。 如下图所示:

这么多种类和方法如何快速定位,无疑是搜索。 这个软件在不同的位置,不同的属性有不同的搜索方法。 下面介绍搜索功能。

搜索功能1,在左侧项目结构中搜索:此搜索允许您快速搜索要查看的类和快捷键。 在左侧上方的“项目结构”窗格中单击鼠标,然后按command F键弹出如下图所示的搜索框。 只需在框中输入所需的级别并返回汽车

2、类内方法搜索:将鼠标放在右边的代码中,点击command F,弹出搜索框。 输入方法回到车上就行了。

3、在文件中搜索:即全局搜索、快捷键F5或上面菜单栏的search栏中搜索,输入所需的类或方法,然后返回车上进行搜索。 下面列出了要使用的所有位置。

4、搜索实体类:软件菜单栏search的最后一项find entity,单击输入要搜索的实体类,返回车搜索:

快速搜索是快速使用软件所需的技能,像我们常用的idea一样,包括快速定位类、方法、常量等,可以快速解决问题。

介绍了在更改软件时可以制作流程图等功能,针对该功能介绍了几种图形的制作功能,以便能够快速分析代码。

项目视图包含很多功能,可以自动生成各种流程图的结构图。 能够快速整理代码逻辑、结构等,快速了解项目流程,快速开发。 视图的显示方法有:用鼠标在要显示的类或方法等上单击,右键单击显示菜单,将鼠标移动到Graphical Views上,显示2级菜单,如下图所示。

另一种方法是单击要显示的类或方法,然后在代码上方的菜单栏中找到以下图标:

通过单击图标右下角的下拉箭头显示以下菜单,可以选择并显示相关视图:

层级关系视图分类:

1、Butterfly如果两个实体之间存在关系,则显示两个实体之间的调用和调用关系; 下图是Activity方法的关系图。

2、Calls :展示从你选择的这个方法开始的整个呼叫链

3、Called By :显示了将在哪个代码中调用此实体。 这个结构图是从下向上或从右向左看的。

4、Calls Relationship/Cal

ledby Relationship:展示了两个实体之间的调用和被调用关系,操作方法:首先右键你要选择的第一个实体,然后点击另一个你要选择的实体,如果选择错误,可以再次点击其他正确即可,然后点击ok;

 

5、Contains:展示一个实体中的层级图,也可以是一个文件,一条连接线读作”x includes y“;

6、Extended By:展示这个类被哪些类所继承,

7、Extends:展示这个类继承自那个类:

 

结构关系视图分类:

1、Graph Architecture:展示一个框架节点的结构关系;

2、Declaration:展示一个实体的结构关系,例如:展示参数,则返回类型和被调用函数,对于类,则展示私有成员变量(谁继承这个类,谁基于这个类)

3、Parent Declaration:展示这个实体在哪里被声明了的结构关系;

4、Declaration File:展示所选的文件中所有被定义的实体(例如函数,类型,变量,常量等);

5、Declaration Type:展示组成类型;

6、Class Declaration:展示定义类和父类的成员变量;

7、Data Members:展示类或者方法的组成,或者包含的类型;

8、Control Flow:展示一个实体的控制流程图或者类似实体类型;

9、Cluster Control Flow:展示一个实体的流程图或者类似实体类型,这个比上一个更具有交互性;

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

11、UML Sequence Diagram:展示两个实体之间的时序关系图;

12、Package:展示给定包名中声明的所有实体

13、Task:展示一个任务中的参数,调用,实体

14、Rename Declaration:展示实体中被重命名的所有实体

    由于视图比较多,所以就一一贴上代码,主要还是需要自己去调试,查看各个功能视图的展示结构以及作用,孰能生巧,多操作几下就会了,所以不再做过多的解释。最终希望这款软件能够帮助你快速开发,快速阅读别人的或者自己的代码。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。