国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Eclipse插件開發之FindBugs插件

2024-07-21 02:14:52
字體:
來源:轉載
供稿:網友
  問題提出:

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

  解決方法:

  現在有很多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 下載

  插件管理技巧

  提示:新下載的插件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文件里的絕對路徑而費心費力。直接拷貝過去就可以使用。
    即xyz.link文件的內容如是:path=../pluginsnew/xyz
    這樣,如果你下載了多個插件就可以如法炮制建立多個link文件,想加載哪個插件就把哪個插件的link文件放到%eclipse_home%/links的目錄中即可,使用與管理都很方便,建議千萬不要放在默認的安裝目錄中;
    如果你的%eclipse_home%與此不同,請修改xyz.link文件里的路徑
  7. 刪除,關閉eclipse
    刪除%eclipse_home%/links/xyz.link文件即可
    刪除%eclipse_home%/pluginsnew/xyz整個目錄及文件
  8. 重新啟動eclipse即可

  使用

  重新啟動eclipse后,在help => about eclipse sdk => plug-in details你可以看到由“findbugs project”提供的“findbugs plug-in”版本0.0.17插件,如下圖所示:

  

  findbugs的使用方法

  findbugs是一個可以在java程序中發現bugs的程序。

  它是專門用來尋找處于“bug patterns”列表中的代碼的。

  bug patterns指很有可能是錯誤的代碼的實例。

  目前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視圖里出現的相應問題,就會在代碼編輯器里切換到相應的代碼上去,方便根據相應的提示信息進行代碼的修改。

  

  在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里進行持續構建。

  現在,你可以馬上拿出你已經開發的一個項目,檢查一下你的代碼有沒有問題了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高台县| 桐城市| 泽库县| 威信县| 西乌| 尖扎县| 和田市| 山东省| 突泉县| 盘山县| 湖南省| 顺义区| 广元市| 昌平区| 丁青县| 莱州市| 三原县| 游戏| 乌拉特前旗| 泽普县| 临桂县| 红安县| 雷山县| 沾益县| 成武县| 贵阳市| 无极县| 静宁县| 乃东县| 萨迦县| 保靖县| 乌兰浩特市| 阿克陶县| 伊川县| 张家界市| 会理县| 抚松县| 合川市| 酒泉市| 长治市| 静安区|