溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

發(fā)布時(shí)間:2021-11-25 22:05:56 來(lái)源:億速云 閱讀:415 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

   去年做項(xiàng)目團(tuán)隊(duì)的開(kāi)發(fā)規(guī)范管理,整理了相關(guān)工具的使用方法,其中PMD、FindBug、CheckStyle是最常用的幾個(gè)工具,當(dāng)然這類(lèi)工具不能完全替代“走查”。

工具

目的

檢查項(xiàng)

FindBugs

檢查.class

基于Bug Patterns概念,查找javabytecode(.class文件)中的潛在bug

主要檢查bytecode中的bug patterns,如NullPoint空指針檢查、沒(méi)有合理關(guān)閉資源、字符串相同判斷錯(cuò)(==,而不是equals)等

PMD

檢查源文件

檢查Java源文件中的潛在問(wèn)題

主要包括:

空try/catch/finally/switch語(yǔ)句塊

未使用的局部變量、參數(shù)和private方法

空if/while語(yǔ)句

過(guò)于復(fù)雜的表達(dá)式,如不必要的if語(yǔ)句等

復(fù)雜類(lèi)

CheckStyle

檢查源文件

主要關(guān)注格式

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

主要包括:

Javadoc注釋

命名規(guī)范

多余沒(méi)用的Imports

Size度量,如過(guò)長(zhǎng)的方法

缺少必要的空格Whitespace

重復(fù)代碼

一、PMD——Java代碼靜態(tài)分析工具

1、在eclipse中安裝PMD

    (1)Eclipse中,選擇Help->Install New Software;

(2)在彈出的窗口點(diǎn)擊Add…;

(3)輸入Name,輸入下載地址:https://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

(4)選擇適應(yīng)的版本;

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

(5)安裝后重啟即可。

(6)PMD窗體顯示到頁(yè)面:widows—>open perspective—>other

2、PMD檢查代碼

PMD檢查方式:對(duì)一個(gè)項(xiàng)目進(jìn)行檢查,對(duì)項(xiàng)目的下級(jí)文件進(jìn)行檢查,對(duì)展開(kāi)的類(lèi)進(jìn)行檢查。

檢查方法:右鍵點(diǎn)擊將要檢查的文件選擇PMD選項(xiàng),選擇Check Code With PMD選項(xiàng)進(jìn)行代碼檢查。錯(cuò)誤信息顯示在violation  Overview框體中,如下圖所示:

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

注:Element:檢查的文件

#Violation/LOC(line of code縮寫(xiě))為:警告?zhèn)€數(shù)/源代碼行數(shù)x1000。

#Violations/Method:警告?zhèn)€數(shù)除以方法個(gè)數(shù)(類(lèi)中每個(gè)方法中的平均錯(cuò)誤)

#Project:所在項(xiàng)目

右鍵點(diǎn)擊框體的任意位置顯示4個(gè)選項(xiàng)按鈕對(duì)應(yīng)的功能為

1) Filter Resource:是否展示下列工程

2) Filter Priorities: 想要展示的警告等級(jí)(5個(gè)等級(jí),紅色為最嚴(yán)重的警告)

3) Presentation Type:展示的結(jié)構(gòu)

4) clear PMD violations:清除Violations Outline內(nèi)的信息

3、檢查代碼規(guī)范

雙擊“Element“列下面的錯(cuò)誤元素,顯示警告所在的類(lèi)文件。錯(cuò)誤的詳細(xì)信息將在Violations Outline框體中顯示。右鍵點(diǎn)擊框體中顯示的警告信息時(shí),有四個(gè)功能選項(xiàng)。

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

1) Show details:顯示錯(cuò)誤的詳細(xì)信息,如下圖所示:

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

2) Mark as reviews : 標(biāo)記警告信息;

3) Remove Violation(s) :清除錯(cuò)誤信息;

4) clear violations reviews:清除之前標(biāo)記。

4、生成報(bào)告

右鍵點(diǎn)擊工程,選擇"PMD"->"Generatereports",在當(dāng)前工程的根目錄下生成一個(gè)reports目錄,該目錄下存放了代碼檢查的結(jié)果報(bào)告,根據(jù)報(bào)告,可以定位錯(cuò)誤所處的包,所處的類(lèi),以及錯(cuò)誤的級(jí)別,觸發(fā)的規(guī)則集及規(guī)則,便于我們統(tǒng)計(jì)。

二、Findbugs

1、在eclipse中安裝Findbugs

(1)從官方網(wǎng)站http://findbugs.sourceforge.net/downloads.html 下載 edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706-2cfb468.zip包;

(2)將壓縮文件里面的內(nèi)容解壓到myeclipse安裝目錄下eclipse\plugins 目錄下;

(3)打開(kāi)Esclipse →Preferences→Java 如果顯示 FindBugs 則安裝成功,否則安裝失敗

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

2、檢查代碼

在你要檢測(cè)bug的Project 或Package以及 Class上右擊  如下圖:

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

檢測(cè)結(jié)束之后 bug信息將會(huì)顯示在 Bug Explorer 中如下圖:

如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查

點(diǎn)擊灰色的小蟲(chóng)子會(huì)把bug信息展開(kāi),雙擊紅色的小蟲(chóng)子會(huì)定位到bug的位置。

以上就是如何進(jìn)行PMD和FindBug的代碼質(zhì)量檢查,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

pmd
AI