understand是國(guó)外開(kāi)發(fā)的一款非常優(yōu)秀的靜態(tài)代碼分析工具,它可以幫助程序開(kāi)發(fā)者進(jìn)行分析和閱讀大規(guī)模項(xiàng)目的代碼,并對(duì)代碼進(jìn)行分析校準(zhǔn),軟件支持Ada、C/C++、C#、Java、Fortran、Pascal、Perl等多種編程語(yǔ)言,同時(shí)還集成了代碼編輯器可以實(shí)時(shí)的對(duì)代碼進(jìn)行編輯,非常的不錯(cuò),推薦給廣大程序開(kāi)發(fā)者下載安裝使用。
功能介紹:
1. 支持多語(yǔ)言:Ada, C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M 。混合語(yǔ)言的project也支持
2. 多平臺(tái): Windows/Linux/Solaris/HP-UX/IRIX/MAC OS X
3. 代碼語(yǔ)法高亮、代碼折迭、交叉跳轉(zhuǎn)、書(shū)簽等基本閱讀功能。
4. 可以對(duì)整個(gè)project的architecture、metrics進(jìn)行分析并輸出報(bào)表。
5. 可以對(duì)代碼生成多種圖(butterfly graph、call graph、called by graph、control flow graph、UML class graph等)在圖上點(diǎn)擊節(jié)點(diǎn)可以跳轉(zhuǎn)到對(duì)應(yīng)的源代碼位置。
6. 提供Perl API便于擴(kuò)展。作圖全部是用Perl插件實(shí)現(xiàn)的,直接讀取分析好的數(shù)據(jù)庫(kù)作圖。
7. 內(nèi)置的目錄和文件比較器。
8. 支持project的snapshot,并能和自家的TrackBack集成便于監(jiān)視project的變化。
軟件特點(diǎn):
一、強(qiáng)大的自動(dòng)繪圖能力。
可以生成許多種有用的圖形,如類關(guān)系圖、函數(shù)調(diào)用關(guān)系圖、頭文件包括關(guān)系等。下面是CFile的類圖。
二、出色的增量搜索功能
增量搜索也許不是新概念,在Visual Studio里早就有。但是軟件里的增量搜索具有動(dòng)態(tài)代碼加亮的功能。也就是說(shuō),可以把選中的標(biāo)識(shí)符的所有實(shí)例,都以醒目的顏色顯示出來(lái),對(duì)于閱讀代碼時(shí),非常有幫助。如下圖,對(duì)函數(shù)參數(shù)pFileTime執(zhí)行增量搜索,則它出現(xiàn)的過(guò)地方都會(huì)被標(biāo)示出來(lái)。這樣,這個(gè)參數(shù)是如何被使用的,一目了然。
三、豐富的標(biāo)識(shí)符信息
代碼信息數(shù)據(jù)庫(kù)十分完善,所有的標(biāo)識(shí)符可以分類顯示。每一類標(biāo)識(shí)符又具有不同的信息。如關(guān)于函數(shù)的信息,可以顯示定義它的文件名,返回值類型,參數(shù)信息,調(diào)用函數(shù),被調(diào)用函數(shù),引用這個(gè)函數(shù)的信息,代碼量等。其中,引用信息里會(huì)有引用類型,如申明、調(diào)用、定義等,非常實(shí)用。
四、方便的搜索功能
很多窗口都有方便的搜索功能,便于快速定位需要的信息。如項(xiàng)目瀏覽器里,可以輸入文件名,快速找到相關(guān)的文件。