2011-12-01 85 views
3

我正在尋找一種免費的Java代碼分析/度量工具,可以用來查看類依賴關係,方法執行時間等,並可能打印出顯示它們的圖表。我目前在ANT中使用jdepend任務來實現這一目標,但是我認爲必須有更好的工具來完成這種任務。我更喜歡它是否與Netbeans集成,因爲我寧願不將所有項目都移植到Eclipse中進行分析。我試圖玩社區版的Visual Paradigm,但當它在社區版中沒有提供代碼同步時,我感到非常快。儘管如果這確實是一條可行的路線,我可以再試一次。我也嘗試過BOUML,但它似乎更像是一個UML設計工具,而不是現有的代碼分析器。所以,我的問題是,你們用於Java代碼分析的是什麼?謝謝!Java代碼分析/度量工具

編輯:例如,JDepend度量幾個度量標準,可以繪製一個很好的小依賴圖,但它並不完全具有UI或任何東西。我想我正在尋找一個工具,它可以繪製出我所有的類和它們之間的依賴關係(jdepend只包AFAIK)以及在類之間調用的方法,並提供了一個度量標準「代碼結構是「。我很抱歉,如果問題是模糊的,我只是尋找各種選項,我並不完全有很多代碼度量工具的經驗... ...

+0

代碼分析是什麼意思?您可以使用像emma或cobertura這樣的代碼覆蓋工具來知道調用哪些代碼部分以及多少次,可以使用ucdetector查找未使用的代碼,使用checkstyle/pmd進行靜態代碼分析,或使用分析器查找哪些方法調用哪些方法,以及多少次... – aishwarya

+0

分析如何?執行時間是分析。依賴關係完全是另一回事。測試覆蓋率是另一個。循環複雜性是另一個。等......正如維克多所說,Sonar可以融合一大堆,但它不僅僅是一個簡單的分析工具。 –

回答

3

正如@Victor提到的Sonar是一款非常不錯的靜態代碼分析工具。它生成圖表,圖表,並且通常允許您以多種方式切分和切分Java代碼分析。

但是,它確實作爲服務器運行,它可能需要您的計算機/網絡上您可能沒有的權限。我自己使用它,我推薦它,但它並不總是實用。那麼讓我們來看看它在底層使用的一些工具。

首先,有FindBugs。顧名思義,它可以幫助您找到Java源代碼中的錯誤。

接下來,有PMD。它有助於以FindBugs以不同方式查找錯誤。

三,有CheckStyle。它有助於確保您的代碼符合某些樣式指南。

最後,還有Cobertura,該儀器將Java字節碼,分析了行源代碼被你的單元測試(你有單元測試,對吧?)

這不是工具的詳盡清單行使該聲納采用了,但它涵蓋了什麼似乎是亮點。聲納內部,這些都是100%可配置的。在Sonar之外,它們仍然是可配置的,但你更喜歡XML。

2

Sonar.雖然,我個人從來沒有使用它,所以我不能回答關於細節的問題。然而,我知道我們的conitnuos建築工具與它集成在一起可以製作漂亮的圖片:)

+0

有趣的,我會看看,謝謝:) – SuperTron