1. 程式人生 > >程式碼分析工具推薦Understand

程式碼分析工具推薦Understand

之前看ogitor ,第一次看到那麼多程式碼~~不知道從哪裡下手,而且好多東西都不會Ogre什麼的都不是很清楚,對ogitor的程式碼結構的瞭解就更不用提了。暈頭轉向的不知道從哪裡下手,一點點的看起來好吃力。後來從部落格中看到了說understand的 ,當時用了一下可以從原始碼生成類圖 感覺很不錯。不過由於考試啊亂七八糟的原因放了一段時間之後又由於系統出了問題重灌後把他弄丟了,今天想用結果怎麼也找不到是什麼,連名字都忘了  汗~~以後要及時記錄啊  找了幾乎一天終於又找回來了 呵呵感覺比rational rose好得多吧,rational rose 現在已經沒有更新了 下了一個都感覺不好用 win7下直接打不開 糾結  這個understan 的ui使用qt開發的呢 呵呵

Understand

                ---- 原始碼分析&度量

Understand™ 從度量、圖表、依賴關係分析、程式碼檢查、等各方面全面管理您的原始碼。

Understand_screen_shot

Understand主要特點

understand%20features.png

arrow.png Understand度量

Understand™對所分析的程式碼進行高效的度量計算,其計算也可通過命令列自動執行,同時支援表格匯出、圖形顯示以及GUI動態瀏覽;另外,更可以通過Understand Perl API進行度量的自定義。通過Understand,還可以產生專案級(包含檔案、類、函式或系統架構)的報告。

arrow.png

程式碼檢查

Understand檢查您的程式碼是否符合程式碼的國際標準(如MISRA-C 2004,MISRA-C++ 2008等),或者您自己自定義的檢查標準,如企業的程式碼規範等。

arrow.png程式碼編輯器

Understand提供了可以維護和理解您的程式碼的編輯器,通過其瀏覽、對比(檔案/目錄對比,‘微’對比 – 如字元級對比)您的原始碼,可以更容易、更高效的進行程式碼的編輯;同時,該編輯器還支援自定義的設定,滿足開發人員的工作需要。

arrow.png依賴關係分析

Understand依賴關係瀏覽器具備以下特點:

- 檔案及結構依賴關係快速瀏覽

- 依賴/被依賴關係、Butterfly圖(檔案/架構)

- 依賴關係圖表匯出

- 最新設計的依賴關係瀏覽Dock顯示所以的依賴資訊

Understand可以生成各種依賴關係圖表(如整體架構的繼承關係、子系統的繼承關係等),

其結果可以儲存為PNG、JPEG、SVG等,更可以直接儲存為VISIO檔案。

Understand依賴關係資訊可以匯出為CSV檔案以備您進行進一步的分析。

arrow.png即時搜尋

通過Understand的即時搜尋能力,您可以在上百萬行的程式碼中立刻找到您需要的資訊。

arrow.png多種圖表

Understand支援各種圖表的生成,所有的圖表您都可以將其儲存成圖片格式作為更廣泛的編輯用途。通過Understand,您可以生成下列圖表:

- 宣告關係圖

- 繼承關係圖

- 控制流圖

- 依賴關係圖

- UML類圖

- 樹形關係圖

- 自定義圖表

arrow.png程式碼資訊

- 通過Understand的資訊瀏覽器,你可以看到相關程式碼實體所有詳細資訊。

- 程式碼上下文資訊顯示

- 自動化:通過Understand提供的相應命令,您可以快速的建立、分析專案和產生報

告,同時可以將Understand與您的構建系統進行整合,自動完成所以程式碼的分析。

arrow.png報告

Understand支援各種報告的生成,根據您專案的開發語言,基本可以生成如下幾類報告:

- 交叉引用報告

- 架構分析報告

- 質量報告

- 度量報告

- 客戶自定義報告

arrow.png支援的語言

Understand支援:Ada, C/C++, C#, FORTRAN, Java, JOVIAL, Pascal, PL/M, VHDL, Cobol, Web Languages (如PHP, HTML, CSS, Javascript和XML等)。

即使您的專案同時包含多種語言,Understand也可以進行分析。

arrow.png支援的作業系統

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