在Eclipse環境下的Java代碼靜態分析工具介紹__Java

來源:互聯網
上載者:User

在Eclipse環境下有很多外掛程式可以協助我們做代碼的靜態分析工作,這樣可以有助於我們儘早的發現代碼的Bug。下面我介紹幾種常用的外掛程式:

 

1. PMD

我們可以通過http://pmd.sourceforge.net/eclipse來為Eclipse安裝PMD外掛程式。

PMD是一種基於靜態規則的Java原始碼分析工具。它附帶了一些可以直接使用的規則,使用者也可以自己定義規則,檢查Java代碼是否存在潛在的問題: 可能的Bug - 比如空的try/catch/finally/switch語句塊 無用的代碼 - 比如沒有被使用的局部變數,參數和私人方法 空的if/while 運算式 過於複雜的運算式 - 比如不必要的if,for迴圈可以直接用while迴圈 次優的代碼 - 比如,String/StringBuffer的不當使用 類有過高的複雜度 重複的代碼

當然, PMD找到的問題可能並不是真正的bug,需要你自己來判斷。

 

2. CheckStyle

CheckStyle的外掛程式安裝地址http://eclipse-cs.sourceforge.net/update
更多詳細的資訊可以參考 http://eclipse-cs.sourceforge.net/downloads.html

CheckStyle也是基於規則的Java代碼靜態分析工具,它是為了Java代碼能夠有更好的品質,可讀性和可重用性。CheckStyle定義了可以配置的嚴格度,每一個它的規則都有對應的通知,警告和錯誤。它的檢查分析功能包括: Java代碼的注釋 命名規範 方法參數的數量,每一行代碼的長度 代碼中的空格 類構造時的方式 重複的代碼 複雜的代碼

實際使用當中,你會發現CheckStyle檢查出來的問題很多,可以根據需要取捨。

 

3. FindBugs

CheckStyle的外掛程式安裝地址 http://findbugs.cs.umd.edu/eclipse/

更多詳細的資訊可以參考  http://findbugs.sourceforge.net/manual/eclipse.html

顧名思義,FindBugs是協助我們分析尋找代碼中bug的工具,但是與上面兩個工具不同的是,它是通過符合代碼的位元組碼(class檔案)和一組缺陷模式來發現問題。也就是說FindBugs 不注重樣式或者格式,它試圖只尋找真正的缺陷或者潛在的效能問題,比如: Hash equals不匹配 Null指標的檢測 初始化之前讀取欄位

在實際開發過程中,個人認為的實用程度:FindBugs > PMD > CheckStyle

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.