之前看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