更新時間:2018-07-04 來源:黑馬程序員JavaEE培訓學院 瀏覽量:
Java代碼質量檢查工具及使用案例
在現在的軟件開發中,由于軟件的復雜度越來越高,業務也覆蓋很廣,各個業務模塊業務錯綜復雜。這樣就需要我們需要團隊開發,在我們團隊中開發人員的經驗、代碼風格樣式都不一致,以及缺乏統一的標準,從而導致我們的整個項目的的代碼難以閱讀,不便于后期維護。這幾天在研究代碼質量管理,根據在網上搜集的資料及跟前輩學的一點經驗整理一下,有需要的同學們可以查看,也便于以后自己回顧。
1、主要對下面的七塊進行分析
編碼格式規范
代碼重復
代碼覆蓋率
依賴項分析
復雜度監控
Java模擬技術
代碼評審和重構
2、接下來的使用Eclipse 插件來揭示這些分析領域:
編碼格式規范:codeStyle和CheckStyle
代碼重復:PMD 的 CPD
代碼覆蓋率:Coverlipse或者Emma
依賴項分析:JDepend
復雜度監控:Metrics
Java模擬技術:EasyMock、PowerMock
代碼評審和重構:Jupiter
3、FingBugs、PMD、Checkstyle
除FingBugs靜態分析工具外,還有PMD和Checkstyle,FingBugs、PMD和Checkstyle三個工具各有不同的特點,聯合使用有助于減少誤報錯誤,提高報告的準確率。
這三個工具檢查的側重點各有不同:
FindBugs
基于Bug Patterns概念,查找java bytecode中的潛在bug。在目前版本中,它不檢查java源文件。 主要檢查bytecode中的bug patterns,也允許用戶自定義特定的bug patterns。
PMD
檢查java源文件中的潛在問題。
主要包括:
- 空try/catch/finally/switch語句塊
- 未使用的局部變量、參數和private方法
- 空if/while語句
- 過于復雜的表達式,如不必要的if語句等
- 復雜類
CheckStyle
檢查java源文件是否與代碼規范相符。
主要包括
- Javadoc注釋
- 命名規范
- Headers
- Imports
- Size沖突和度量,如過長的方法
- Whitespace
- Modifiers
- Blocks
- Coding Problems
- Class Design
- 重復代碼
- Miscellaneous Checks
- Optional Checks
需要說明的是,findbugs能檢測的bug pattern遠不僅于此,甚至可以定制自己的探測器,因此,這個文檔會不斷擴充,同時,也歡迎大家不斷探索和分享使用實踐。
本文版權歸黑馬程序員JavaEE學院所有,歡迎轉載,轉載請注明作者出處。謝謝!