前言:一般公司都會有一些開發規范,但是事實上,簡單看那么一兩遍並不能養成習慣,或者將這些規范記住。特別的,對於一些新手,寫的代碼往往會很糟糕。回頭看看你一兩年前寫的代碼就會知道,所謂的”糟糕“是什么一種感覺。
使用一些檢測工具,對代碼質量的控制確有成效。FindBugs便是這一類不錯的工具。
一、FindBugs介紹
FindBugs 是一個靜態分析工具,它檢查類或者 JAR 文件,將字節碼與一組缺陷模式進行對比以發現可能的問題。有了靜態分析工具,就可以在不實際運行程序的情況對軟件進行分析。
簡言之,FindBugs是一個在Java程序中查找bug的程序,它查找bug模式的實例,也就是可能出錯的代碼實例。Findbugs是檢查java字節碼,也就是*.class文件。
其實准確的說,它是尋找代碼缺陷的,很多我們寫的不好的地方,可以優化的地方,它都能檢查出來。
例如:未關閉的數據庫連接,缺少必要的null check,多余的 null check,多余的if后置條件,相同的條件分支,重復的代碼塊,錯誤的使用了”==”,建議使用StringBuffer代替字符串連加等等。
而且我們還可以自己配置檢查規則(做哪些檢查,不做哪些檢查),也可以自己來實現獨有的校驗規則(用戶自定義特定的bug模式需要繼承它的接口,編寫自己的校驗類,屬於高級技巧)。
當然,FindBugs不過是一個工具。作為開發人員,當然首先要在編程的時候努力避免引入bug,而不要依賴於某個工具來為自己把關。不過由於代碼的復雜性,一些隱藏的bug確實很難靠咱們的肉眼發現。這時,應用一些好的工具或許就可以幫你發現這樣的bug。這便是FingBug存在的價值。
靜態分析工具承諾無需開發人員費勁就能找出代碼中已有的缺陷。當然,如果有多年的編寫經驗,就會知道這些承諾並不是一定能兌現。
代碼質量工具的一個問題是它們容易為開發人員提供大量但並非真正問題的問題——即 偽問題(false positives)。
二、FindBugs在eclipse的安裝
事實上,大多數eclipse插件的安裝方式基本類似。無非就是那么兩種,下載對應插件離線安裝 以及 “help”–>”Install New Software” 安裝。第一種離線安裝是比較快的。
(1)離線安裝:
到http://findbugs.sourceforge.net/downloads.html下載20131115123549_nlpir_ictclas2013_u20131115_release.zip,解壓后,直接將解壓后的edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-5afe4d1放到eclipse的plugins目錄,然后重啟eclipse皆可。
注意了,這里要求的是eclipse3.6及以上的版本,按理說猿基本都能跟上潮流的。可以查看下自己的eclipse版本確認下(Help->About Eclipse)
小寶鴿的是4.4.2版本
(2)在線安裝
點擊“Help->InstallNew Software”,如下圖:
接着如圖:
Name”輸入“findBugs”,“Location”輸入“http://findbugs.cs.umd.edu/eclipse” 如下:
接着選擇對應插件如下:
后面的是下一步,下一步就可以了,在線安裝可能需要等待比較長的時間,耐心等待,不要中斷!
后面會提示你重啟eclipse,重啟后就可以使用了。
三、FindBugs在Eclipse的使用
(1)安裝完成並重啟后,選中一個項目,右鍵如圖,選擇Find Bugs:
(2)運行完成后查看Bug Explorer視圖,如果沒有該視圖,操作如下圖:
(3)如果檢查出你的代碼問題會出現如下圖:
(4)點擊其中一個葉子節點:
上圖是小寶鴿故意加的空指針問題。
其他更多使用功能就待猿友們進一步學習啦。因為寫博客真心比較花時間~~~