自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用Eclipse插件提高代碼質(zhì)量

開(kāi)發(fā) 后端
如果能在構(gòu)建代碼前發(fā)現(xiàn)代碼中潛在的問(wèn)題會(huì)怎么樣呢?很有趣的是,Eclipse 插件中就有這樣的工具,比如 JDepend 和 CheckStyle,它們能幫您在軟件問(wèn)題暴露前發(fā)現(xiàn)這些問(wèn)題。

本文內(nèi)容包括:

安裝Eclipse插件

◆用CheckStyle校正標(biāo)準(zhǔn)

◆用Coverlipse確認(rèn)覆蓋率

◆用CPD捕捉代碼重復(fù)

◆使用JDepend 進(jìn)行依賴項(xiàng)檢查

◆用Metrics 測(cè)量復(fù)雜度

◆合適的才是最好的

如果能在構(gòu)建代碼前發(fā)現(xiàn)代碼中潛在的問(wèn)題會(huì)怎么樣呢?很有趣的是,Eclipse 插件中就有這樣的工具,比如 JDepend 和 CheckStyle,它們能幫您在軟件問(wèn)題暴露前發(fā)現(xiàn)這些問(wèn)題。在 讓開(kāi)發(fā)自動(dòng)化 的本期文章中,自動(dòng)化專家 Paul Duvall 將帶來(lái)一些關(guān)于 Eclipse 插件的例子,您可以安裝、配置和使用這些靜態(tài)分析插件,以便在開(kāi)發(fā)生命周期的早期預(yù)防問(wèn)題。

本文涵蓋了我所認(rèn)為的 “五大” 代碼分析領(lǐng)域:

◆編碼標(biāo)準(zhǔn)

◆代碼重復(fù)

◆代碼覆蓋率

◆依賴項(xiàng)分析

◆復(fù)雜度監(jiān)控

可以用接下來(lái)的幾個(gè)靈活的 Eclipse 插件來(lái)揭示這些分析領(lǐng)域:

◆CheckStyle:用于編碼標(biāo)準(zhǔn)

◆PMD 的 CPD:幫助發(fā)現(xiàn)代碼重復(fù)

◆Coverlipse:測(cè)量代碼覆蓋率

◆JDepend:提供依賴項(xiàng)分析

◆Eclipse Metric 插件:有效地查出復(fù)雜度

安裝 Eclipse 插件

安裝 Eclipse 插件再簡(jiǎn)單不過(guò)了,只需要幾個(gè)步驟。在開(kāi)始之前,最好把該插件下載站點(diǎn)的 URL 準(zhǔn)備好。表 1 是本文用到的插件的列表:

表 1. 代碼改進(jìn)插件和相應(yīng)的下載站點(diǎn) URL

工具 目的 Eclipse 插件的 URL
CheckStyle 編碼標(biāo)準(zhǔn)分析 http://eclipse-cs.sourceforge.net/update/
Coverlipse 測(cè)試代碼覆蓋率 http://coverlipse.sf.net/update
CPD 復(fù)制/粘貼檢驗(yàn) http://pmd.sourceforge.net/eclipse/
JDepend 包依賴項(xiàng)分析 http://andrei.gmxhome.de/eclipse/
Metrics 復(fù)雜度監(jiān)控 http://metrics.sourceforge.net/update

知道了這些有用插件的下載地址后,安裝插件就是一個(gè)極簡(jiǎn)單的過(guò)程。啟動(dòng) Eclipse,然后遵循下列步驟:

選擇 Help | Software Updates | Find and Install,如圖 1 所示:

圖 1. 尋找并安裝 Eclipse 插件

尋找安裝Eclipse插件


選擇 Search for new features to install 單選按鈕,單擊 Next。

單擊 New Remote Site,輸入要安裝的插件名和 URL(參見(jiàn)圖 2),單擊 OK,然后單擊 Finish 來(lái)顯示 Eclipse 更新管理器。

圖 2. 配置新的遠(yuǎn)程站點(diǎn)

配置新的遠(yuǎn)程站點(diǎn)


在 Eclipse 更新管理器中,有一個(gè)查看插件各方面特性的選項(xiàng)。我通常選擇頂級(jí)項(xiàng),如圖 3 所示。選擇您需要的選項(xiàng)并單擊 Finish。Eclipse 現(xiàn)在安裝該插件。您需要重啟 Eclipse 實(shí)例。

圖 3. 安裝 Eclipse 插件

安裝eclipse插件


請(qǐng)遵循上述這些步驟來(lái)安裝其他的 Eclipse 插件;只需改變插件名和相應(yīng)的下載位置即可。

用 CheckStyle 校正標(biāo)準(zhǔn)

代碼庫(kù)的可維護(hù)性直接影響著軟件的整個(gè)成本。另外,不佳的可維護(hù)性還會(huì)讓開(kāi)發(fā)人員十分頭痛(進(jìn)而導(dǎo)致開(kāi)發(fā)人員的缺乏)—— 代碼越容易修改,就越容易添加新的產(chǎn)品特性。像 CheckStyle 這樣的工具可以協(xié)助尋找那些可影響到可維護(hù)性、與編碼標(biāo)準(zhǔn)相沖突的地方,比方說(shuō),過(guò)大的類、太長(zhǎng)的方法和未使用的變量等等。

使用 Eclipse 的 CheckStyle 插件的好處是能夠在編碼過(guò)程中了解到源代碼上下文的各種編碼沖突,讓開(kāi)發(fā)人員更可能在簽入該代碼前真正處理好這些沖突。您也幾乎可以把 CheckStyle 插件視作一個(gè)連續(xù)的代碼復(fù)查工具!

安裝 CheckStyle 插件并做如下配置(參見(jiàn)圖 4):

  1. 選擇 Project,然后選擇 Eclipse 菜單中的 Properties 菜單項(xiàng)。
  2. 選擇 CheckStyle active for this project 復(fù)選框,單擊 OK。
  3. 圖 4. 在 Eclipse 中配置 CheckStyle 插件

Eclipse 重新構(gòu)建工作空間,并在 Eclipse 控制臺(tái)中列示已發(fā)現(xiàn)的編碼沖突,如圖 5 所示:

圖 5. Eclipse 中 CheckStyle 的代碼沖突列表


使用 CheckStyle 插件在 Eclipse 內(nèi)嵌入編碼標(biāo)準(zhǔn)檢驗(yàn)是一種很棒的方法,用這種方法可以在編碼時(shí) 積極地改進(jìn)代碼,從而在開(kāi)發(fā)周期的早期發(fā)現(xiàn)源代碼中潛在的缺陷。這么做還有更多的好處,如節(jié)省時(shí)間、減少失敗,也因此會(huì)減少項(xiàng)目的成本。沒(méi)錯(cuò),這就是一種積極主動(dòng)的方式!

用 Coverlipse 確認(rèn)覆蓋率

Coverlipse 是一個(gè)用于 Cobertura 的 Eclipse 插件,Cobertura 是一個(gè)代碼覆蓋率工具,可以用它來(lái)評(píng)估具有相應(yīng)測(cè)試的源代碼的比率。Cobertura 也提供一個(gè) Ant 任務(wù)和 Maven 插件,但用 Cobertura,您可以在編寫(xiě)代碼時(shí) 評(píng)估代碼覆蓋率。您見(jiàn)過(guò)這樣的模式嗎?

通過(guò)選擇 Eclipse 菜單項(xiàng) Run 安裝 Coverlipse 插件并將其和 JUnit 關(guān)聯(lián)起來(lái),該操作會(huì)顯示一系列運(yùn)行配置選項(xiàng),例如 JUnit、SWT 應(yīng)用程序和 Java? 應(yīng)用程序。右鍵單擊它并選擇 JUnit w/Coverlipse 節(jié)點(diǎn)中的 New。在這里,需要確定 JUnit 測(cè)試的位置,如圖 6 所示:

圖 6. 配置 Coverlipse 以獲取代碼覆蓋率

配置Coverlipse


一旦單擊了 Run,Eclipse 會(huì)運(yùn)行 Coverlipse 并在源代碼(如圖 7 所示)中嵌入標(biāo)記,該標(biāo)記顯示了具有相關(guān) JUnit 測(cè)試的代碼部分:

#p#

圖 7. Coverlipse 生成的具有嵌入類標(biāo)記的報(bào)告
 

Coverlipse生成報(bào)告


正如您所見(jiàn),使用 Coverlipse Eclipse 插件可以更快地確定代碼覆蓋率。例如,這種實(shí)時(shí)數(shù)據(jù)功能有助于在將代碼簽入 CM 系統(tǒng)前 更好地進(jìn)行測(cè)試。這對(duì)漸進(jìn)編程來(lái)說(shuō)意味著什么呢?

用 CPD 捕捉代碼重復(fù)

Eclipse 的 PMD 插件提供了一項(xiàng)叫做 CPD(或復(fù)制粘貼探測(cè)器)的功能,用于尋找重復(fù)的代碼。為在 Eclipse 中使用這項(xiàng)便利的工具,需要安裝具有 PMD 的 Eclipse 插件,該插件具有 CPD 功能。

為尋找重復(fù)的代碼,請(qǐng)用右鍵單擊一個(gè) Eclipse 項(xiàng)目并選擇 PMD | Find Suspect Cut and Paste,如圖 8 所示:

 圖 8. 使用 CPD 插件運(yùn)行復(fù)制粘貼檢驗(yàn)

使用CPD插件


一旦運(yùn)行了 CPD,您的 Eclipse 根目錄下就會(huì)創(chuàng)建出一個(gè) report 文件夾,其中包含一個(gè)叫做 cpd.txt 的文件,文件中列示了所有重復(fù)的代碼。圖 9 中是一個(gè) cpd.txt 文件的例子:

圖 9. Eclipse 插件生成的 CPD 文本文件
 

生成CPD文本文件


靠人工來(lái)尋找重復(fù)的代碼是一項(xiàng)挑戰(zhàn),但使用像 CPD 這樣的插件卻能在編碼時(shí)輕松地發(fā)現(xiàn)重復(fù)的代碼。

使用 JDepend 進(jìn)行依賴項(xiàng)檢查

JDepend 是個(gè)可免費(fèi)獲取的開(kāi)源工具,它為包依賴項(xiàng)提供面向?qū)ο蟮亩攘恐?,以此指明代碼庫(kù)的彈性。換句話說(shuō),JDepend 可有效測(cè)量一個(gè)架構(gòu)的健壯性(反之,脆弱性)。

除了 Eclipse 插件,JDepend 還提供一個(gè) Ant 任務(wù)、Maven 插件和一個(gè) Java 應(yīng)用程序,用以獲取這些度量值。對(duì)于相同的信息,它們有著不同的傳遞機(jī)制;但 Eclipse 插件的特別之處和相應(yīng)優(yōu)點(diǎn)是:它能以更接近源代碼(即,編碼時(shí))的方式傳遞這條信息。

圖 10 演示了使用 Eclipse JDepend 插件的方法:通過(guò)右鍵單擊源文件夾并選擇 Run JDepend Analysis。一定要選擇一個(gè)含源代碼的源文件夾;否則看不到此菜單項(xiàng)。

圖 10. 使用 JDepend Analysis 分析代碼
 

分析代碼


圖 11 顯示了運(yùn)行 JDepend Analysis 時(shí)生成的報(bào)告。左邊顯示包,右邊顯示針對(duì)每個(gè)包的依賴項(xiàng)度量值。

圖 11. Eclipse 項(xiàng)目中的包依賴項(xiàng)
 

Eclipse包依賴項(xiàng)


正如您所見(jiàn),JDepend 插件提供了有助于不斷觀察架構(gòu)可維護(hù)性變化的大量信息 —— 這其中最大的好處是您可以在編碼時(shí)看到這些數(shù)據(jù)。

用 Metrics 測(cè)量復(fù)雜度

“五大”代碼分析最后的一項(xiàng)是測(cè)量復(fù)雜度。Eclipse 提供一種叫做 Metrics 的插件,使用該插件可以進(jìn)行許多有用的代碼度量,包括圈復(fù)雜度度量,它用于測(cè)量方法中惟一路徑的數(shù)目。

安裝 Metrics 插件并重啟 Eclipse;然后遵循下列步驟:

  1. 右鍵單擊您的項(xiàng)目并選擇 Properties 菜單。在結(jié)果窗口中,選擇 Enable Metrics plugin 復(fù)選框并單擊 OK,如圖 12 所示:
    圖 12. 為項(xiàng)目配置 Metrics
     
    配置Metrics
  2. 從 Eclipse 中選擇 Window 菜單打開(kāi) Metrics 視圖,然后選擇 Show View | Other...。
  3. 選擇 Metrics | Metrics View 打開(kāi)如圖 13 中顯示的窗口。您需要使用 Java 透視圖并重新構(gòu)建項(xiàng)目,從而顯示這些度量值。

    圖 13. 打開(kāi) Eclipse 中的 Metrics View
    打開(kāi)MetricsView

  4. 單擊 OK 來(lái)顯示如圖 14 中的窗口。

    在此例中,我正在查看一個(gè)單獨(dú)方法的圈復(fù)雜度。真正妙的是您可以雙擊 Metrics 列表中的方法,該插件會(huì)在 Eclipse 編輯器中為此方法打開(kāi)源代碼。這就讓修正變得超級(jí)簡(jiǎn)單(如果需要的話)!

    圖 14. 查看方法的圈復(fù)雜度
    查看方法的圈復(fù)雜度

正如我之前提到過(guò)的,Eclipse Metrics 插件還提供了許多功能強(qiáng)大的度量值,有助于您在開(kāi)發(fā)軟件的過(guò)程中改進(jìn)代碼 —— 可見(jiàn),它是一個(gè)漸進(jìn)編程意義上的插件!

合適的才是最好的

正如您從本文中看到的那樣,將“五大”測(cè)量方法,即編碼標(biāo)準(zhǔn)、代碼重復(fù)、代碼覆蓋率、依賴項(xiàng)分析和復(fù)雜度監(jiān)控,用于改進(jìn)代碼質(zhì)量十分重要。但適合您的才是好的。請(qǐng)記住還有其他許多可用的Eclipse 插件(比如 PMD 和 FindBugs)能夠幫助您在開(kāi)發(fā)周期的早期改進(jìn)代碼質(zhì)量。不管您想要的工具或偏愛(ài)的方法是什么,重要的是:行動(dòng)起來(lái)去積極改進(jìn)代碼質(zhì)量并讓手工代碼檢驗(yàn)的過(guò)程變得更加有效。我估計(jì)您使用這些插件一段時(shí)間后,就再也離不開(kāi)它們了。

您正在閱讀的是“用Eclipse插件提高代碼質(zhì)量

【編輯推薦】

  1. 手把手教你在Eclipse中配置開(kāi)發(fā)Struts
  2. 利用Eclipse編輯中文資源文件
  3. 在Eclipse下安裝C++插件CDT
  4. 如何在Eclipse中調(diào)試JBoss應(yīng)用
  5. 使用NetBeans和Eclipse開(kāi)發(fā)PHP應(yīng)用程序
責(zé)任編輯:book05 來(lái)源: IBM
相關(guān)推薦

2024-01-05 18:01:17

高并發(fā)策略程序

2023-01-06 18:31:46

準(zhǔn)確命名

2016-02-23 11:03:03

代碼質(zhì)量編寫(xiě)函數(shù)

2012-04-09 15:40:31

PHP

2022-08-04 09:01:45

TypeScriptMicrosoft

2016-02-24 16:03:34

代碼質(zhì)量編寫(xiě)函數(shù)

2012-11-07 09:48:26

2015-08-11 09:39:25

重構(gòu)提高代碼質(zhì)量

2012-07-30 13:15:18

代碼

2015-07-15 10:27:48

Android代碼質(zhì)量工具

2010-05-20 09:07:30

jQuery

2024-02-19 14:50:42

編碼原則軟件開(kāi)發(fā)

2009-05-15 09:58:49

nWireEclipse代碼探測(cè)

2017-08-18 13:02:15

大數(shù)據(jù)數(shù)據(jù)質(zhì)量

2023-04-20 08:01:13

2015-05-06 09:20:34

代碼質(zhì)量代碼審查實(shí)踐

2012-11-02 14:37:58

代碼編程語(yǔ)言

2023-03-16 08:01:56

TypeScript開(kāi)源編程語(yǔ)言

2012-02-02 15:14:29

Node.js

2009-06-04 20:26:45

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)