久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Eclipse插件之FindBugs

 fondofbeyond 2006-09-28
本文介紹如何利用Eclipse插件FindBugs在Eclipse中的使用,。

  Eclipse是目前非常流行的開發(fā)平臺(tái),開放擴(kuò)展的架構(gòu)讓很多程序員找到了自己個(gè)性化的工作環(huán)境,。

問(wèn)題提出:
  當(dāng)我們編寫完代碼,,做完單元測(cè)試等各種測(cè)試后就提交正式運(yùn)行,只能由運(yùn)行的系統(tǒng)來(lái)檢測(cè)我們代碼是否有問(wèn)題了,,代碼中隱藏的錯(cuò)誤在系統(tǒng)運(yùn)行的過(guò)程中被發(fā)現(xiàn)后,,然后再來(lái)進(jìn)行相應(yīng)的修改,那么后期修改的代價(jià)就相當(dāng)高了。

解決方法:
  現(xiàn)在有很多Java代碼分析工具,,F(xiàn)indBugs中開源項(xiàng)目當(dāng)中的一個(gè),,它可以幫你找到代碼中隱藏的一些錯(cuò)誤,提升你的代碼能力與系統(tǒng)安全可靠性,。

安裝

JDK:1.5.0 從http://java.上去下載安裝
Eclipse:3.1.1 從http://www. 上去下載解壓
FindBugs:0.9.4 從http://findbugs./
官方的文檔 http://findbugs./manual/
Eclipse plugin for FindBugs version 0.0.17
http://findbugs./downloads.html 下載

技巧

  Eclipse使用技巧之插件管理

  提示:新下載的插件PlugIn一定不要都放在原始的Eclipse目錄下去,,一大堆,累死你:(

  1. 前提是你已經(jīng)安裝好了Eclipse工具了,,比如安裝在E:\OpenSource\Eclipse\目錄下,,以下這個(gè)目錄以%ECLIPSE_HOME%來(lái)進(jìn)行表示;
  2. 此時(shí)默認(rèn)的插件是在%ECLIPSE_HOME%\plugins目錄中的,;
  3. 在%ECLIPSE_HOME%下建立一個(gè)PlugInsNew的目錄,;
    比如:E:\OpenSource\Eclipse\PlugInsNew
  4. 你下載了個(gè)新的插件,比如叫做:XYZ

      那么就在%ECLIPSE_HOME%\PlugInsNew\目錄下建立XYZ目錄,,目錄里面是eclipse目錄,,eclipse目錄包含有features與plugins兩個(gè)子目錄;結(jié)構(gòu)如下圖所示:

      

  5. 把下載的新插件的文件放在以下相應(yīng)目錄中

    %ECLIPSE_HOME%\PlugInsNew\XYZ\eclipse\features
    %ECLIPSE_HOME%\PlugInsNew\ XYZ\eclipse\plugins

  6. 建立相關(guān)的.link的文件

    然后在%ECLIPSE_HOME%\links目錄里建立一個(gè)XYZ.link的文件
    內(nèi)容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行這樣的路徑指示而已,。
    這樣,,如果你下載了多個(gè)插件就可以如法炮制建立多個(gè)Link文件,想加載哪個(gè)插件就把哪個(gè)插件的Link文件放到%ECLIPSE_HOME%\links的目錄中即可,,使用與管理都很方便,,建議千萬(wàn)不要放在默認(rèn)的安裝目錄中;
    如果你的%ECLIPSE_HOME%與此不同,,請(qǐng)修改XYZ.link文件里的路徑

  7. 刪除,,關(guān)閉Eclipse

    刪除%ECLIPSE_HOME%\links\XYZ.link文件即可
    刪除%ECLIPSE_HOME%\PlugInsNew\XYZ整個(gè)目錄及文件

  8. 重新啟動(dòng)Eclipse即可

使用

  FindBugs插件安裝方法采用上一節(jié)的《Eclipse使用技巧之插件管理》

  重新啟動(dòng)Eclipse后,在Help => About Eclipse SDK => Plug-in Details你可以看到由“FindBugs Project”提供的“FindBugs Plug-in”版本0.0.17插件,,如下圖所示:

  

介紹

  FindBugs是一個(gè)可以在Java程序中發(fā)現(xiàn)Bugs的程序,。
  它是專門用來(lái)尋找處于“Bug Patterns”列表中的代碼的。
  Bug Patterns指很有可能是錯(cuò)誤的代碼的實(shí)例,。

  原文:FindBugs is a program to find bugs in Java programs. It looks for instances of "bug patterns" --- code instances that are likely to be errors.

  目前FindBugs最高版本0.9.4,,不過(guò)更新速度很快的,你應(yīng)當(dāng)經(jīng)常上去看看是否有新版本發(fā)布,。
Eclipse plugin for FindBugs最高版本0.0.17

要求

  使用FindBugs至少需要JDK1.4.0以上版本,,F(xiàn)indBugs是平臺(tái)獨(dú)立的,可以運(yùn)行于GNU/Linux,、Windows,、MacOS X 等平臺(tái)上。

  運(yùn)行FindBugs至少需要有256 MB內(nèi)存,,如果你要分析一個(gè)很大的項(xiàng)目,,那就需要更加多的內(nèi)存了,。

  FindBugs獨(dú)立運(yùn)行和與Ant結(jié)合的詳細(xì)操作就不介紹了,可以看官方的文檔http://findbugs./manual/

  獨(dú)立運(yùn)行的效果圖如下:

  

  本文主要介紹Eclipse中使用的情況

  打開Bug Details視圖

  Windows => Show View => Other… => FindBugs => BugDetails

  

  在Package Explorer或Navigator視圖中,,選中你的Java項(xiàng)目,,右鍵,可以看到“Find Bugs”菜單項(xiàng),,子菜單項(xiàng)里有“Find Bugs”和“Clear Bug Markers”兩項(xiàng)內(nèi)容,,如下圖所示:

  

  

  我們建立一個(gè)簡(jiǎn)單的測(cè)試文件Test.java 內(nèi)容如下:

public class Test
{
private String[] name;
public String[] getName()
{
return name;
}
public void setName(String[] name)
{
this.name = name;
}
}

  我們點(diǎn)中“Find Bugs”,運(yùn)行時(shí)會(huì)出現(xiàn)如下進(jìn)度框:

  運(yùn)行結(jié)束后可以在Problems中看到增加了如下的警告信息內(nèi)容

  FindBugs運(yùn)行后的警告信息內(nèi)容不僅在Problems視圖中顯示,,而且將標(biāo)記在源代碼標(biāo)記框中,,在源代碼編輯器中我們可以看到警告標(biāo)識(shí),如下圖:
當(dāng)光標(biāo)指向你的警告信息的代碼上面時(shí),,就會(huì)有相應(yīng)的錯(cuò)誤提示信息,,與Eclipse本身的錯(cuò)誤或警告信息提示類似。
選中Problems視圖里出現(xiàn)的相應(yīng)問(wèn)題,,就會(huì)在代碼編輯器里切換到相應(yīng)的代碼上去,,方便根據(jù)相應(yīng)的提示信息進(jìn)行代碼的修改。
will point to locations in your code which have been identified as potential instances of bug patterns.

  

  在Problems視圖里,,選中相應(yīng)的問(wèn)題條目,,右鍵,在彈出的菜單中,,可以看到“Show Bug Details”,,如下圖所示:

  

  點(diǎn)中它,會(huì)切換到Bug Details視圖上去,,顯示更加詳細(xì)的提示信息,。

  當(dāng)然,在代碼編輯窗口中,,點(diǎn)擊帶有警告提示信息的圖標(biāo)時(shí),,也會(huì)自動(dòng)切換到Bud Details窗口去,查看詳細(xì)的警告信息,,如下圖所示,。

  

  根據(jù)這里詳細(xì)的信息,你可以得到FindBugs為什么會(huì)對(duì)你的代碼報(bào)警告信息,,及相應(yīng)的處理辦法,,根據(jù)它的提示,你可以快速方便地進(jìn)行代碼修改,。

  

  根據(jù)提示,我們將代碼修改成如下,,再運(yùn)行就不會(huì)報(bào)有警告信息了,。

public class Test
{
private String[] name;
public String[] getName()
{
String[] temp = name;
return temp;
}
public void setName(String[] name)
{
String[] temp = name;
this.name = temp;
}
}

配置FindBugs
  選擇你的項(xiàng)目,,右鍵 => Properties => FindBugs =>

  

  可以配置的信息包括如上圖所示的四個(gè)選項(xiàng)的相關(guān)設(shè)置:

  1. Run FindBugs Automatically開關(guān)
    當(dāng)此項(xiàng)選中后,F(xiàn)indBugs將會(huì)在你修改Java類時(shí)自動(dòng)運(yùn)行,,如你設(shè)置了Eclipse自動(dòng)編譯開關(guān)后,,當(dāng)你修改完Java文件保存,F(xiàn)indBugs就會(huì)運(yùn)行,,并將相應(yīng)的信息顯示出來(lái),。
    當(dāng)此項(xiàng)沒(méi)有選中,你只能每次在需要的時(shí)候自己去運(yùn)行FindBugs來(lái)檢查你的代碼,。

  2. Minimum priority to report選擇項(xiàng)
    這個(gè)選擇項(xiàng)是讓你選擇哪個(gè)級(jí)別的信息進(jìn)行顯示,,有Low、Medium,、High三個(gè)選擇項(xiàng)可以選擇,,很類似于Log4J的級(jí)別設(shè)置啦。
    比如:
    你選擇了High選擇項(xiàng),,那么只有是High級(jí)別的提示信息才會(huì)被顯示,。
    你選擇了Medium選擇項(xiàng),那么只有是Medium和High級(jí)別的提示信息才會(huì)被顯示,。
    你選擇了Low選擇項(xiàng),,那么所有級(jí)別的提示信息都會(huì)被顯示。

  3. Enable bug categories選擇項(xiàng)
    在這里是一些顯示Bug分類的選擇:
    Correctness關(guān)于代碼正確性相關(guān)方面的
    Performance關(guān)于代碼性能相關(guān)方面的
    Internationalization關(guān)于代碼國(guó)際化相關(guān)方面的
    Multithreaded correctness關(guān)于代碼多線程正確性相關(guān)方面的
    Style關(guān)于代碼樣式相關(guān)方面的
    Malicious code vulnerability關(guān)于惡意破壞代碼相關(guān)方面的

    比如:如果你把Style的檢查框去掉不選擇中它,,那么與Style分類相關(guān)的警告信息就不會(huì)顯示了,。其它的類似。

  4. Select bug patterns to check for選擇項(xiàng)
    在這里你可以選擇所要進(jìn)行檢查的相關(guān)的Bug Pattern條目
    可以從Bug codes,、Detector name,、Detector description中看到相應(yīng)的是要檢查哪些方面的內(nèi)容,你可以根據(jù)需要選擇或去掉相應(yīng)的檢查條件,。

總結(jié)

  此插件的功能很不錯(cuò),,可以幫助我們提升Java代碼的編寫能力,寫出更加安全可靠的代碼,。建議使用或加在Ant里進(jìn)行持續(xù)構(gòu)建,。
  現(xiàn)在,你可以馬上拿出你已經(jīng)開發(fā)的一個(gè)項(xiàng)目,,檢查一下你的代碼有沒(méi)有問(wèn)題了,。

 作者簡(jiǎn)介
dev2dev ID: YuLimin, BEA dev2dev論壇Web Application Development版版主。
主頁(yè):http://202.101.111.1/123/
博客:http://iAMin.BlogDriver.com
dot dot dot

dot
  作者其它文章

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多