understand是國外開發(fā)的一款非常優(yōu)秀的靜態(tài)代碼分析工具,它可以幫助程序開發(fā)者進行分析和閱讀大規(guī)模項目的代碼,并對代碼進行分析校準,軟件支持Ada、C/C++、C#、Java、Fortran、Pascal、Perl等多種編程語言,同時還集成了代碼編輯器可以實時的對代碼進行編輯,非常的不錯,推薦給廣大程序開發(fā)者下載安裝使用。

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