代码分析工具推荐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 静态代 ...
随机推荐
- HTML5获取地理经纬度并通过百度接口得到实时位置
注:用的时候将获取北京位置那放到获取经度纬度后面即可 -----------实际用的时候的代码如下:start -------- var myCity;getLocation()function g ...
- (转)heartbeat原理及部署
原文:http://yjy724.blog.51cto.com/10897133/1840794---------------------------------------------------h ...
- 【LESS系列】基本语法
这里将直接以实例的方式展示 LESS 的基本语法. less code 是编译前的代码,css code 是编译后的代码. 本文的内容,同样是引自[http://www.ibm.com/develop ...
- MySQL按照月进行统计
MySQL按照月进行统计 今天需要后台提供一个按月统计的API.所以查了一下SQL语句的实现方法. 按月统计SQL select date_format(createtime, '%Y-%m') as ...
- python中lambda,map,reduce,filter,zip函数
函数式编程 函数式编程(Functional Programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象.简单来讲,函 ...
- 个人总结——Beta版本
我们这次项目因为种种原因失败了,没办法达到预期的效果,这一点着实让人难过.但是作为一门课程,并不能说因为此次项目的失败就完全一无所获.在不断遇到困难和解决困难中学习,成长.虽然失败,但此次失败的经验教 ...
- [LNMP]——LNMP环境配置
LNMP=Linux+Nginx+Mysql+PHP Install Nginx //安装依赖包 # yum install openssl openssl-devel zlib-devel //安装 ...
- 实现easyui的combogrid模糊查询框
这里用的方法是一个不可编辑的combogrid控件,覆盖上一个可输入的Input控件. 思路: 1.初始时取到后台查询出的列表,存储到全局变量 2.当输入框输入内容时,循环匹配列表,重新绑定到comb ...
- mybatis学习之分页
分页一般分为物理分页:先查询所有值再分页输出,逻辑分页:直接分页查询输出,mybatis支持物理分页,如下: 1.物理分页: mapper映射: <select id="findStu ...
- JS的Object类的属性、方法及如何创建对象
属性 constructor:对创建对象的函数的引用(指针).对于Object类,该指针指向原始的object()函数. prototype:对该对象的对象原型的引用.对于所有的类,它默认返回Obje ...