2008-09-18 98 views
52

對於Java世界我有點模糊不清,我一直在尋找一個靜態分析工具,它也具有足夠的智能來解決它​​發現的問題。我在CodePro工具上運行,但是,我又是新來的Java社區,不知道供應商。針對Java的靜態分析工具推薦?

根據上述標準,您可以推薦什麼工具?

+0

您還可以查看[qulice.com](http://www.qulice.com),它將Checkstyle,PMD,FindBugs集成在一起,並將它們預先配置爲 – yegor256 2012-09-17 15:14:54

+0

http://softwarerecs.stackexchange。 com將成爲你的朋友。 – peterh 2015-09-11 14:06:33

回答

38

FindBugs,PMD和Checkstyle都是很好的選擇,特別是如果你將它們集成到你的構建過程中。

在我上次的公司,我們也用Fortify來檢查潛在的安全問題。我們很幸運擁有企業許可證,所以我不知道所涉及的成本。

11

JetBrains的IntelliJ IDEA。他們也在.Net社區中做ReSharper。

47
+0

請問您對使用lint4j有什麼評論?我只是試了一下,但它在我的整個代碼庫中只產生一個警告(誤報!)。我知道我的代碼不是那麼幹淨!我的代碼需要Java 6和lint4j proj。似乎不活躍。 lint4j不是源碼,所以沒有源代碼。謝謝! – 2008-09-23 02:50:46

6

Sonar是一個質量控制工具。它通過遵守編碼規則慣例,度量指標和高級指標來評估Java應用程序的質量。

聲納是基於以下項目:

您也可以使用Simian進行重複檢測。

1

以上都是很棒的工具。 PMD可能是最常見的。

另一個工具是Enerjy。它最近變得免費,所以你可以下載它並自己嘗試。 Enerjy更有組織性,更適合大型團隊。它使定製和共享規則變得更加容易。就我個人而言,我不是一個大粉絲,但也許你會比我更喜歡它。

1

CRAP4J不僅是一個很棒的名字,而且非常有用。其他好的都在上面,最重要的是(恕我直言)是FindBugs,因爲它確實在大代碼基礎上立即找到誠實善良的錯誤。

0

有一個Java提供商業廠商的夫婦:

Klocwork Coverity

他們不會「來解決問題,」他們發現(也不會,我相信,上述任何其他的人的)但這些都是具有不同優勢的工具。

1

你可以嘗試JavaDepend,它補充其他靜態分析工具,並提供了一個CQL語言查詢,如數據庫的代碼,

JavaDepend還提供了許多交互式視圖來理解現有的代碼庫和82個度量標準。