靜態代碼檢查工具-PMD初學者入門篇


前言:
PMD是一款靜態代碼分析工具,它能夠自動檢測各種潛在缺陷以及不安全或未優化的代碼。
PMD更多地是集中在預先檢測缺陷上,它提供了高度可配置的豐富規則集,用戶可以方便配置對待特定項目使用那些規則。

安裝及使用:
1.在Eclipse中 安裝 PMD插件運行方式
ECLIPSE菜單 > HELP > Install New Software >
彈出窗口中在 work with中輸入 PMD - http://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/
,單擊后面的”增加” > 確認>
會自動下載插件,下載需要點時間,>選擇安裝 subclipse 3 即可;
PMD安裝

2.激活PMD插件。Ecplise的菜單Project->Properties->PMD,在這個窗口選擇要應用的規則,並指定相對重要性,為特定項目詳細配置PMD,目前只需要選中Enable PMD復選框,保留默認規則集。

3.運行PMD。單擊項目資源,右鍵->PMD->Check code with PMD。在Violation OverView視圖中按問題嚴重程度列出PMD問題。在Violations outLinew右鍵show Details可以查看更詳細的規則描述以及說明規則的示例代碼。
(PMD可檢測一個項目、類、單個文件等等)
PMD安裝

4.幾種形式的檢查結果
PMD安裝
PMD安裝
右鍵每條結果,可以進行幾個操作
Show Details… :顯示明細
Mark as reviewed:(標記為已審查)菜單項,這將向代碼添加一個注釋,以指示PMD在這里忽略此問題。
這里寫圖片描述
Remove violation:可以手工糾正問題,並使用Remove violation(刪除違例)直接從列表中刪除此問題
clear violations reviews:清除之前 標記

PMD也可以直接檢查一個項目,生成多種格式的報告文件
PMD安裝

PMD安裝
附錄:

PMD附帶了許多可以直接使用的規則
潛在的bug:空的try/catch/finally/switch語句
未使用的代碼:未使用的局部變量、參數、私有方法等
可選的代碼:String/StringBuffer的濫用
復雜的表達式:不必須的if語句、可以使用while循環完成的for循環
重復的代碼:拷貝/粘貼代碼意味着拷貝/粘貼bugs
循環體創建新對象:盡量不要再for或while循環體內實例化一個新對象
資源關閉:Connect,Result,Statement等使用之后確保關閉掉
此外,還可以自定義規則,檢查Java代碼是否符合某些特定的編碼規范。例如,你可以編寫一個規則,要求PMD找出所有創建Thread和Socket對象的操作。 也可以根據實際情況更改自帶規則的檢查內容

PMD自帶規則及自定義規則,有興趣可自己研究下;
后續有時間在分享下;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM