首頁技術(shù)文章正文

Java代碼質(zhì)量檢查工具及使用案例

更新時間:2018-07-04 來源:黑馬程序員JavaEE培訓(xùn)學(xué)院 瀏覽量:

Java代碼質(zhì)量檢查工具及使用案例 


在現(xiàn)在的軟件開發(fā)中,由于軟件的復(fù)雜度越來越高,業(yè)務(wù)也覆蓋很廣,各個業(yè)務(wù)模塊業(yè)務(wù)錯綜復(fù)雜。這樣就需要我們需要團(tuán)隊開發(fā),在我們團(tuán)隊中開發(fā)人員的經(jīng)驗、代碼風(fēng)格樣式都不一致,以及缺乏統(tǒng)一的標(biāo)準(zhǔn),從而導(dǎo)致我們的整個項目的的代碼難以閱讀,不便于后期維護(hù)。這幾天在研究代碼質(zhì)量管理,根據(jù)在網(wǎng)上搜集的資料及跟前輩學(xué)的一點經(jīng)驗整理一下,有需要的同學(xué)們可以查看,也便于以后自己回顧。

1、主要對下面的七塊進(jìn)行分析

編碼格式規(guī)范 
代碼重復(fù) 
代碼覆蓋率 
依賴項分析 
復(fù)雜度監(jiān)控 
Java模擬技術(shù) 
代碼評審和重構(gòu)

2、接下來的使用Eclipse 插件來揭示這些分析領(lǐng)域:

編碼格式規(guī)范:codeStyle和CheckStyle 
代碼重復(fù):PMD 的 CPD 
代碼覆蓋率:Coverlipse或者Emma 
依賴項分析:JDepend 
復(fù)雜度監(jiān)控:Metrics 
Java模擬技術(shù):EasyMock、PowerMock 
代碼評審和重構(gòu):Jupiter

3、FingBugs、PMD、Checkstyle

除FingBugs靜態(tài)分析工具外,還有PMD和Checkstyle,F(xiàn)ingBugs、PMD和Checkstyle三個工具各有不同的特點,聯(lián)合使用有助于減少誤報錯誤,提高報告的準(zhǔn)確率。

這三個工具檢查的側(cè)重點各有不同: 
FindBugs

基于Bug Patterns概念,查找java bytecode中的潛在bug。在目前版本中,它不檢查java源文件。 主要檢查bytecode中的bug patterns,也允許用戶自定義特定的bug patterns。

PMD

檢查java源文件中的潛在問題。

主要包括: 
- 空try/catch/finally/switch語句塊 
- 未使用的局部變量、參數(shù)和private方法 
- 空if/while語句 
- 過于復(fù)雜的表達(dá)式,如不必要的if語句等 
- 復(fù)雜類

CheckStyle

檢查java源文件是否與代碼規(guī)范相符。

主要包括 
- Javadoc注釋 
- 命名規(guī)范 
- Headers 
- Imports 
- Size沖突和度量,如過長的方法 
- Whitespace 
- Modifiers 
- Blocks 
- Coding Problems 
- Class Design 
- 重復(fù)代碼 
- Miscellaneous Checks 
- Optional Checks 

需要說明的是,findbugs能檢測的bug pattern遠(yuǎn)不僅于此,甚至可以定制自己的探測器,因此,這個文檔會不斷擴(kuò)充,同時,也歡迎大家不斷探索和分享使用實踐。

 

本文版權(quán)歸黑馬程序員JavaEE學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!

作者:黑馬程序員JavaEE培訓(xùn)學(xué)院

首發(fā):http://java.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!