代码分析工具推荐Understand
之前看ogitor ,第一次看到那么多代码~~不知道从哪里下手,而且好多东西都不会Ogre什么的都不是很清楚,对ogitor的代码结构的了解就更不用提了。晕头转向的 不知道从哪里下手,一点点的看起来好吃力。后来从博客中看到了说understand的 ,当时用了一下可以从源代码生成类图 感觉很不错。不过由于考试啊乱七八糟的原因放了一段时间之后又由于系统出了问题重装后把他弄丢了,今天想用结果怎么也找不到是什么,连名字都忘了 汗~~以后要及时记录啊 找了几乎一天终于又找回来了 呵呵感觉比rational rose好得多吧,rational rose 现在已经没有更新了 下了一个都感觉不好用 win7下直接打不开 纠结 这个understan 的ui使用qt开发的呢 呵呵
Understand
---- 源代码分析&度量
Understand™ 从度量、图表、依赖关系分析、代码检查、等各方面全面管理您的源代码。
Understand™主要特点
Understand度量
Understand™ 对所分析的代码进行高效的度量计算,其计算也可通过命令行自动运行,同时支持表格导出、图形显示以及GUI动态浏览;另外,更可以通过 Understand Perl API进行度量的自定义。通过Understand,还可以产生项目级(包含文件、类、函数或系统架构)的报告。
代码检查
Understand检查您的代码是否符合代码的国际标准(如MISRA-C 2004,MISRA-C++ 2008等),或者您自己自定义的检查标准,如企业的代码规范等。
代码编辑器
Understand提供了可以维护和理解您的代码的编辑器,通过其浏览、对比(文件/目录对比,‘微’对比 – 如字符级对比)您的源代码,可以更容易、更高效的进行代码的编辑;同时,该编辑器还支持自定义的设定,满足开发人员的工作需要。
依赖关系分析
Understand依赖关系浏览器具备以下特点:
- 文件及结构依赖关系快速浏览
- 依赖/被依赖关系、Butterfly图(文件/架构)
- 依赖关系图表导出
- 最新设计的依赖关系浏览Dock显示所以的依赖信息
Understand可以生成各种依赖关系图表(如整体架构的继承关系、子系统的继承关系等),
其结果可以保存为PNG、JPEG、SVG等,更可以直接保存为VISIO文件。
Understand依赖关系信息可以导出为CSV文件以备您进行进一步的分析。
即时搜索
通过Understand的即时搜索能力,您可以在上百万行的代码中立刻找到您需要的信息。
多种图表
Understand支持各种图表的生成,所有的图表您都可以将其保存成图片格式作为更广泛的编辑用途。通过Understand,您可以生成下列图表:
- 声明关系图
- 继承关系图
- 控制流图
- 依赖关系图
- UML类图
- 树形关系图
- 自定义图表
代码信息
- 通过Understand的信息浏览器,你可以看到相关代码实体所有详细信息。
- 代码上下文信息显示
- 自动化:通过Understand提供的相应命令,您可以快速的创建、分析项目和产生报
告,同时可以将Understand与您的构建系统进行集成,自动完成所以代码的分析。
报告
Understand支持各种报告的生成,根据您项目的开发语言,基本可以生成如下几类报告:
- 交叉引用报告
- 架构分析报告
- 质量报告
- 度量报告
- 客户自定义报告
支持的语言
Understand支持:Ada, C/C++, C#, FORTRAN, Java, JOVIAL, Pascal, PL/M, VHDL, Cobol, Web Languages (如PHP, HTML, CSS, Javascript和XML等)。
即使您的项目同时包含多种语言,Understand也可以进行分析。
支持的操作系统
Understand支持:Microsoft Windows (32位、64位),Linux (32位、64位),Solaris Sparc,Solaris X86,Mac OSX。
引用自http://www.emenda.eu/index.php?option=com_content&view=article&id=44&Itemid=22&lang=zh
推荐】强大的代码阅读工具Understand
4
个附件_http://www.scitools.com/products/understand/
Understand软件的功能主要定位于代码的阅读理解。界面貌似是用Qt开发的。
具备如下特性:
1、支持多语言:Ada,
C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M ,混合语言的project也支持
2、多平台:
Windows/Linux/Solaris/HP-UX/IRIX/MAC OS
X
3、代码语法高亮、代码折叠、交叉跳转、书签等基本阅读功能。
4、可以对整个project的architecture、metrics进行分析并输出报表。
5、可以对代码生成多种图(butterfly
graph、call graph、called by graph、control flow graph、UML class
graph等),在图上点击节点可以跳转到对应的源代码位置。
6、提供Perl
API便于扩展。作图全部是用Perl插件实现的,直接读取分析好的数据库作图。
7、内置的目录和文件比较器。
8、支持project的snapshot,并能和自家的TrackBack集成便于监视project的变化。
小技巧(官网的FAQ里有):
1、设置字体和颜色风格
修改默认字体:Tools
-> Options -> Editor -> Default style
修改颜色: Tools -> Options
-> Editor ->
Styles
2、生成UML类图、调用树图
默认安装的插件不支持这两种图,需要从官网下载插件。
_http://www.scitools.com/perl_scripts/uperl/uml_class.upl
_http://www.scitools.com/perl_scripts/uperl/invocation.upl
放到sti/conf/scripts/local目录下。
然后重新运行,执行
project-> project graphical views ->
xxxx可以生成这两种图。
3、更改图的字体
直接修改对应的脚本文件(\Program
Files\STI\conf\scripts目录下),在do_load(
)函数的对应位置加入如下的设置:
$graph->default("fontname","Consolas","node");
$graph->default("fontsize","10","node");
$graph->default("fontname","Consolas","edge");
$graph->default("fontsize","10","edge");
注意:有的脚本中的作图变量名不是
$graph 而是 $g。
另外一款代码可视化理解工具: http://www.sgvsarc.com/prod_crystalrevs_screenshots.htm
代码分析工具推荐Understand的更多相关文章
- C++静态代码分析工具推荐——PVS-Studio
长假归来,最近一直没更新,节前本来就想写这篇了,一直到今天才有时间. 关于静态代码分析在维基百科上可以查到很详细的介绍:https://en.wikipedia.org/wiki/List_of_to ...
- 阅读代码分析工具Understand 2.0试用
Understand 2.0是一款源码阅读分析软件,功能强大.试用过一段时间后,感觉相当不错,确实能够大大提高代码阅读效率. 因为Understand功能十分强大,本文不可能详尽地介绍它的全部功能,所 ...
- Eclipse插件(导出UML图,打开文件资源管理器插件,静态代码分析工具PMD,在eclipse上安装插件)
目录 能够导出UML图的Eclipse插件 打开文件资源管理器插件 Java静态代码分析工具PMD 如何在eclipse上安装插件 JProfiler性能分析工具 从更新站点安装EclEmma 能够导 ...
- Android 静态代码分析工具
简评: 作者在文中提到的三个静态代码分析工具不是互相替代的关系,各有各的侧重点,如果有需要完全可以同时使用. 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程 ...
- Android代码分析工具lint学习
1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能 ...
- 常用 Java 静态代码分析工具的分析与比较
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...
- 来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧.
- Cppcheck 1.54 C/C++静态代码分析工具
Cppcheck是一个C/C++代码分析工具,只检测那些编译器通常无法检测到的bug类型. 官方上建议让编译器提供尽量多的警告提示:1.使用Visual C++的话,应使用警告等级4 2.使用GC ...
- [转载] 常用 Java 静态代码分析工具的分析与比较
转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...
随机推荐
- 获取app应用的包名
1.获取哪个app包名,就打开哪个app 2.在dos窗口下输入: adb shell "dumpsys window | grep mCurrentFocus" 获取包名
- 关于CSS3动画性能
前天我去面试了...好吧,对于自己6年6份工作的悲催经历,我自己也是醉了. 但没办法,我这种当时上学没好好学习,临毕业才出家写代码的半吊子码农,起步没起好,以至于一直没能找到真正让自己满意的工作. 通 ...
- JAVA源码之JDK(二)——Integer、Long、Double
这篇文章继续java.lang包下的源码学习,笔者也是找了几个比较常用的来阅读.下面针对Integer.Long.Double这样的基本类型的封装类,记录一些比较经典.常用的方法的学习心得,如toSt ...
- iconfont_3种引用方式
IconFont 图标的3种引用方式 新版Iconfont-阿里巴巴矢量图标库支持三种引用方式: 1.unicode引用(原始) unicode是字体在网页端最原始的应用方式,特点是: 兼容性最好 ...
- [转]微信小程序登录数据解密以及状态维持
本文转自:http://www.cnblogs.com/cheesebar/p/6689326.html 学习过小程序的朋友应该知道,在小程序中是不支持cookie的,借助小程序中的缓存我们也可以存储 ...
- PHP之数组和函数的基本教程
[PHP数组的分类] 按照下标的不同,PHP数组分为关联数组与索引数组 索引数组:下标从0开始,依次增长: 关联数组:下标为字符串格式,每个下标字符串与数字的值一一关联对应(有点像对象的键值对) [关 ...
- Java - 避免使用finalizer
Finalizers are unpredictable ,often dangerous ,and generally unnecessary. 在Java中,GC会自动回收不可达对象相关的空间,而 ...
- [转]字符编码笔记:ASCII,Unicode 和 UTF-8
本文非原创,转载 ,原文地址 :http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰 日期: 20 ...
- 六、cent OS其它常用命令
进入根目录下的laycloud的目录cd /laycloud 进入当前目录下的目录cd laycloud 查看某个目录下的内容ls /laycloud 查看当前目录下的内容ls 查看当前目录下的内容读 ...
- jdk各版本
1.jdk1.7: 1.1二进制变量的表示,支持将整数类型用二进制来表示,用0b开头: 1.2 Switch语句支持string类型: 2.jdk1.8: