1. 程式人生 > >FindBugs、PMD和CheckStyle對比

FindBugs、PMD和CheckStyle對比

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

重複程式碼

 

 

eclipse pmd的使用

® 潛在的bug:空的try/catch/finally/switch語句

® 未使用的程式碼:未使用的區域性變數、引數、私有方法等

® 可選的程式碼:String/StringBuffer的濫用

® 複雜的表示式:不必須的if語句、可以使用while迴圈完成的for迴圈

® 重複的程式碼:拷貝/貼上程式碼意味著拷貝/貼上bugs

® 迴圈體建立新物件:儘量不要再for或while迴圈體內例項化一個新物件

@ 資源關閉:Connect,Result,Statement等使用之後確保關閉掉

http://blog.csdn.net/ml5271169588/article/details/6975701