1. 程式人生 > >Findbugs、PMD、CheckStyles程式碼分析工具介紹

Findbugs、PMD、CheckStyles程式碼分析工具介紹

FindBugs、PMD和CheckStyle對比

1.     概要

工具

目的

檢查項

FindBugs

檢查.class

基於Bug Patterns概念,查詢javabytecode(.class檔案)中的潛在bug

主要檢查bytecode中的bug patterns,如NullPoint空指標檢查、沒有合理關閉資源、字串相同判斷錯(==,而不是equals)等

PMD

檢查原始檔

檢查Java原始檔中的潛在問題

主要包括:

空try/catch/finally/switch語句塊

未使用的區域性變數、引數和private方法

空if/while語句

過於複雜的表示式,如不必要的if語句等

複雜類

CheckStyle

檢查原始檔

主要關注格式

檢查Java原始檔是否與程式碼規範相符

主要包括:

Javadoc註釋

命名規範

多餘沒用的Imports

Size度量,如過長的方法

缺少必要的空格Whitespace

重複程式碼

 

【注】以上工具支援Eclipse3.3及更高版本,不支援與Leaf整合

2.     FindBugs

FindBugs 大多數提示有用,值得改

1.        配置無查詢功能,不過縮寫能讓我們很快找到某個規則

2.        提供圖形介面的獨立程式,對jar進行檢測,有報告生成,非常方便

3.        很多功能外掛沒有實現,可獨立使用FindBugs,但沒法同時修改原始碼

 

²       外掛bug替代法: 使用獨立的FindBugs設定規則,然後到C:\Documents and Settings\XXX\下找.Findbugs_prefs,然後改名覆蓋Eclipse Project下的.fbprefs (先關閉你的Project)

 

3.     PMD

比較嚴格

1.        獨立的程式是命令列形式操作

2.        外掛可以配置規則,有獨立顯示問題的檢視,也很方便

3.        一般來說,需要自定義規則才通過檢驗

 

3.1  Eclipse線上安裝PMD外掛

 

1.開啟Help – Software Updates – Find and Install

 

2.選擇第二項,Next

 

3.點選New Remote Site,按圖示輸入

URL:http://pmd.sf.net/eclipse

 

3.2  配置PMD規則

 1.Window->Preference->PMD->Rules configuration

2. 點選“clear all”先清空預設的規則,然後點選“Import rule set”,找到allLevel.xml匯入,點選“Apply”,“Ok”返回。

3. 選擇工程屬性,選PMD

4.        選擇Enable PMD,就可以啟動PMD(可以根據需要選擇需要哪些規則)

 

5.        點選“ok”返回。Eclipse會自動重新編譯檔案(速度可能非常慢),為了提高編譯速度,在工程屬性中可以不啟用PMD,而是手工啟動PMD

 

6.        在工程屬性中,不選擇 Enable PMD,在資源瀏覽器中選擇包或者類檔案,點選右鍵,選擇PMD,選擇Check code with PMD,這樣就只檢查此包或類檔案。

7.        開啟PMD檢視

   Window->Show view->Others…

   選擇PMD->PMD violations

8.        檢視檢查結果

  PMD violations 檢視顯示的即為檢查結果。allLevel的規則檔案只分兩級(PMD預設為5級),點選檢視右上角中的1,或者2可以檢視不同級別的voilations。(按鈕按下去表示顯示此級別的voilations)

9.     CheckStyle

過於嚴格

1.        按照Sun的規範太嚴格了,需要自定義規則

2.        外掛自定義規則沒有查詢功能,查詢規則麻煩

3.        只能做檢查,不能修改程式碼,可配合Jalopy使用修改程式碼

 

可參考以下文件進行學習使用:

 

 

4.     附錄

4   

4.1  三種Eclipse外掛安裝方式

1.        使用Eclipse的選單欄 Help -> SoftwareUpdates -> Find and install... -> search for new features...  ->輸入軟體安裝地址進行安裝

 

2.        下載外掛檔案,將其解壓縮到Eclipse對應的目錄中。重新啟動Eclipse,如果外掛不能升效,則請將eclipse\configuration\org.eclipse.update目錄刪除後再啟動Eclipse。

 

3.        links檔案方式。舉例說明

以veloeclipse為例,D:\Jwork\Eclipse為你的Eclipse目錄

將外掛放置於D:\Jwork\eclipse_plugins\veloeclipse資料夾

新建檔案D:\Jwork\eclipse\links\veloeclipse.link

檔案內容:path=D:\\Jwork\\eclipse_plugins\\veloeclipse。

重新啟動eclipse,安裝完成。

 

推薦第三種安裝方式,這樣可以把你的eclipse外掛放在一個獨立的目錄統一管理,多個Eclipse均可以指向這個eclipse外掛目錄。

https://blog.csdn.net/p1i2n3g4/article/details/53606618