<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 20  文章 - 12  trackbacks - 0
    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(1)

    隨筆檔案(20)

    java論壇

    我的朋友

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 15080
    • 排名 - 1999

    最新評論

    閱讀排行榜

    評論排行榜

     本文介紹如何利用Eclipse插件FindBugs在Eclipse中的使用。

      Eclipse是目前非常流行的開發平臺,開放擴展的架構讓很多程序員找到了自己個性化的工作環境。

    問題提出:
      當我們編寫完代碼,做完單元測試等各種測試后就提交正式運行,只能由運行的系統來檢測我們代碼是否有問題了,代碼中隱藏的錯誤在系統運行的過程中被發現后,然后再來進行相應的修改,那么后期修改的代價就相當高了。

    解決方法:
      現在有很多Java代碼分析工具,FindBugs中開源項目當中的一個,它可以幫你找到代碼中隱藏的一些錯誤,提升你的代碼能力與系統安全可靠性。

    安裝

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

    技巧

      Eclipse使用技巧之插件管理

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

    1. 前提是你已經安裝好了Eclipse工具了,比如安裝在E:\OpenSource\Eclipse\目錄下,以下這個目錄以%ECLIPSE_HOME%來進行表示;
    2. 此時默認的插件是在%ECLIPSE_HOME%\plugins目錄中的;
    3. 在%ECLIPSE_HOME%下建立一個PlugInsNew的目錄;
      比如:E:\OpenSource\Eclipse\PlugInsNew\
    4. 你下載了個新的插件,比如叫做:XYZ

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

        

    5. 把下載的新插件的文件放在以下相應目錄中

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

    6. 建立相關的.link的文件

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

    7. 刪除,關閉Eclipse

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

    8. 重新啟動Eclipse即可

    使用

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

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

      

    介紹

      FindBugs是一個可以在Java程序中發現Bugs的程序。
      它是專門用來尋找處于“Bug Patterns”列表中的代碼的。
      Bug Patterns指很有可能是錯誤的代碼的實例。

      原文: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,不過更新速度很快的,你應當經常上去看看是否有新版本發布。
    Eclipse plugin for FindBugs最高版本0.0.17

    要求

      使用FindBugs至少需要JDK1.4.0以上版本,FindBugs是平臺獨立的,可以運行于GNU/Linux、Windows、MacOS X 等平臺上。

      運行FindBugs至少需要有256 MB內存,如果你要分析一個很大的項目,那就需要更加多的內存了。

      FindBugs獨立運行和與Ant結合的詳細操作就不介紹了,可以看官方的文檔http://findbugs.sourceforge.net/manual/

      獨立運行的效果圖如下:

      

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

      打開Bug Details視圖

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

      

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

      

      

      我們建立一個簡單的測試文件Test.java 內容如下:

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

      我們點中“Find Bugs”,運行時會出現如下進度框:

      運行結束后可以在Problems中看到增加了如下的警告信息內容

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

      

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

      

      點中它,會切換到Bug Details視圖上去,顯示更加詳細的提示信息。

      當然,在代碼編輯窗口中,點擊帶有警告提示信息的圖標時,也會自動切換到Bud Details窗口去,查看詳細的警告信息,如下圖所示。

      

      根據這里詳細的信息,你可以得到FindBugs為什么會對你的代碼報警告信息,及相應的處理辦法,根據它的提示,你可以快速方便地進行代碼修改。

      

      根據提示,我們將代碼修改成如下,再運行就不會報有警告信息了。

    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
      選擇你的項目,右鍵 => Properties => FindBugs =>

      

      可以配置的信息包括如上圖所示的四個選項的相關設置:

    1. Run FindBugs Automatically開關
      當此項選中后,FindBugs將會在你修改Java類時自動運行,如你設置了Eclipse自動編譯開關后,當你修改完Java文件保存,FindBugs就會運行,并將相應的信息顯示出來。
      當此項沒有選中,你只能每次在需要的時候自己去運行FindBugs來檢查你的代碼。

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

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

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

    4. Select bug patterns to check for選擇項
      在這里你可以選擇所要進行檢查的相關的Bug Pattern條目
      可以從Bug codes、Detector name、Detector description中看到相應的是要檢查哪些方面的內容,你可以根據需要選擇或去掉相應的檢查條件。

    總結

      此插件的功能很不錯,可以幫助我們提升Java代碼的編寫能力,寫出更加安全可靠的代碼。建議使用或加在Ant里進行持續構建。
      現在,你可以馬上拿出你已經開發的一個項目,檢查一下你的代碼有沒有問題了。

    作者簡介
    dev2dev ID: YuLimin, BEA dev2dev論壇Web Application Development版版主。
    主頁:http://202.101.111.1/123/
    博客:http://iAMin.BlogDriver.com
    posted on 2006-03-24 15:11 閱讀(1514) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲综合一区二区精品导航| 亚洲日本一区二区三区在线| 亚洲精品视频在线播放| 国产免费一区二区三区不卡| 国产亚洲av片在线观看16女人| ssswww日本免费网站片| 国产精品久久久亚洲| 日韩免费高清大片在线| 亚洲欧洲高清有无| 成人五级毛片免费播放| 国产精品亚洲色婷婷99久久精品| 国产女高清在线看免费观看| a级毛片免费观看在线| 亚洲av日韩av激情亚洲| 亚洲黄色免费网址| 亚洲日韩看片无码电影| 免费人成网站在线高清| 特级做A爰片毛片免费看无码| 午夜亚洲AV日韩AV无码大全| av无码久久久久不卡免费网站 | 国产女高清在线看免费观看| 爱情岛论坛免费视频| 国产精品亚洲片在线| 日本zzzzwww大片免费| 亚洲精品成a人在线观看夫| 亚洲国产午夜中文字幕精品黄网站| 国产真人无码作爱免费视频| 亚洲最新中文字幕| 免费国产成人高清视频网站| APP在线免费观看视频| 麻豆狠色伊人亚洲综合网站| 亚洲欧洲中文日韩久久AV乱码| 午夜网站在线观看免费完整高清观看| 久久精品国产亚洲av麻豆蜜芽| 亚洲高清无码专区视频| 日韩精品久久久久久免费| 激情小说亚洲色图| 亚洲国产老鸭窝一区二区三区 | 亚洲国产美女福利直播秀一区二区 | 免费va在线观看| 57pao一国产成永久免费|