男同gay片av网站,美女视频黄8频美女视频,男人j放进女人p全黄,柠檬福利精品视频导航,免费涩情网站

首頁(yè)
手機(jī)版
熱門(mén)搜索:
當(dāng)前位置:電腦軟件編程開(kāi)發(fā)編程其它FindBugs

FindBugs (靜態(tài)分析Eclipse插件)v3.0.1

  • 大?。?.58MB
  • 語(yǔ)言:簡(jiǎn)體中文
  • 類(lèi)別:編程其它
  • 類(lèi)型:免費(fèi)軟件
  • 授權(quán):國(guó)產(chǎn)軟件
  • 時(shí)間:2021/08/28
  • 官網(wǎng):http://goqiche.cn
  • 環(huán)境:Windows7, Windows10, WindowsAll

相關(guān)軟件

FindBugs是一款靜態(tài)分析Eclipse插件工具,可以幫助用戶(hù)查找Java軟件中可能出現(xiàn)的bug。當(dāng)程序員在編程的時(shí)候難免會(huì)出現(xiàn)一些錯(cuò)誤的代碼,從而造成bug,與其在最終結(jié)果的時(shí)候找bug,不如直接用這個(gè)插件來(lái)幫助你在編程的過(guò)程中直接查找可能存在的空的引用、多余的變量等錯(cuò)誤。它會(huì)檢查類(lèi)或者JAR文件,將字節(jié)碼與一組缺陷模式進(jìn)行對(duì)比以發(fā)現(xiàn)可能的問(wèn)題,可以在不實(shí)際運(yùn)行程序的情況對(duì)軟件進(jìn)行分析。

FindBugs圖片

軟件功能

1 、找出hash equals不匹配

找與equals()和hashCode()的實(shí)現(xiàn)相關(guān)的幾個(gè)問(wèn)題。這兩個(gè)方法非常重要,因?yàn)閹缀跛谢诩系念?lèi)---List、Map、Set等都調(diào)用它們。

2、檢測(cè):忽略方法返回值

這個(gè)檢測(cè)器查找代碼中忽略了不應(yīng)該忽略的方法返回值的地方。這種情況的一個(gè)常見(jiàn)例子是在調(diào)用String方法時(shí)。

這個(gè)錯(cuò)誤很常見(jiàn)。在第2行,程序員認(rèn)為他已經(jīng)用p替換了字符串中的所有b。確實(shí)是這樣,但是他忘記了字符串是不可變的。所有這類(lèi)方法都返回一個(gè)新字符串,而從來(lái)不會(huì)改變消息的接收者。

3、檢測(cè):Null指針對(duì)null的解引用(dereference)和冗余比較

這個(gè)檢測(cè)器查找兩類(lèi)問(wèn)題。它查找代碼路徑將會(huì)或者可能造成null指針異常的情況,它還查找對(duì)null的冗余比較的情況。例如,如果兩個(gè)比較值都為null,那么它們就是冗余的并可能表明代碼錯(cuò)誤。FindBugs在可以確定一個(gè)值為null而另一個(gè)值不為null時(shí),檢測(cè)類(lèi)似的錯(cuò)誤。

4、檢測(cè):初始化之前讀取字段

這個(gè)檢測(cè)器尋找在構(gòu)造函數(shù)中初始化之前被讀取的字段。這個(gè)錯(cuò)誤通常是由使用字段名而不是構(gòu)造函數(shù)參數(shù)引起的,例如在構(gòu)造函數(shù)中讀取未初始化的字段。

5、命名檢查

對(duì)標(biāo)準(zhǔn)Java命令規(guī)范的測(cè)試:變量名稱(chēng)不應(yīng)太短;方法名稱(chēng)不應(yīng)過(guò)長(zhǎng);類(lèi)名稱(chēng)應(yīng)當(dāng)以小寫(xiě)字母開(kāi)頭;方法和字段名應(yīng)當(dāng)以小寫(xiě)字母開(kāi)頭,等等。

6、未使用的代碼檢查

查找從未使用的私有字段和本地變量、執(zhí)行不到的語(yǔ)句、從未調(diào)用的私有方法,等等。

7、嵌套檢查

例如:switch語(yǔ)句應(yīng)當(dāng)有default塊,應(yīng)當(dāng)避免深度嵌套的if塊,不應(yīng)當(dāng)給參數(shù)重新賦值,不應(yīng)該對(duì)double值進(jìn)行相等比較。

8、導(dǎo)入語(yǔ)句檢查

檢查import語(yǔ)句的問(wèn)題,比如同一個(gè)類(lèi)被導(dǎo)入兩次或者被導(dǎo)入java.lang的類(lèi)中。

9、JUnit測(cè)試檢查

查找測(cè)試用例和測(cè)試方法的特定問(wèn)題,例如方法名稱(chēng)的正確拼寫(xiě),以及suite()方法是不是static和public。

10、字符串檢查

找出處理字符串時(shí)遇到的常見(jiàn)問(wèn)題,例如重復(fù)的字符串標(biāo)量,調(diào)用String構(gòu)造函數(shù),對(duì)String變量調(diào)用toString()方法。

11、括號(hào)檢查

檢查for、if、while和else語(yǔ)句是否使用了括號(hào)。

12、代碼尺寸檢查

測(cè)試過(guò)長(zhǎng)的方法、有太多方法的類(lèi)以及重構(gòu)方面的類(lèi)似問(wèn)題。

13、終結(jié)函數(shù)檢查

因?yàn)樵贘ava語(yǔ)言中,finalize()方法不是那么普遍,它們的使用規(guī)則雖然很詳細(xì),但是人們對(duì)它們相對(duì)不是很熟悉。這類(lèi)檢查查找finalize()方法的各種問(wèn)題,例如空的終結(jié)函數(shù),調(diào)用其他方法的finalize()方法,對(duì)finalize()的顯式調(diào)用,等等。

14、克隆檢查

用于clone()方法的新規(guī)則。凡是重寫(xiě)clone()方法的類(lèi)都必須實(shí)現(xiàn)Cloneable,clone()方法應(yīng)該調(diào)用super.clone(),而clone()方法應(yīng)該聲明拋出CloneNotSupportedException異常,即使實(shí)際上沒(méi)有拋出異常,也要如此。

15、耦合檢查

查找類(lèi)之間過(guò)度耦合的跡象,比如導(dǎo)入內(nèi)容太多;在超類(lèi)型或接口就已經(jīng)夠用的時(shí)候使用子類(lèi)的類(lèi)型;類(lèi)中的字段、變量和返回類(lèi)型過(guò)多等。

16、異常檢查

針對(duì)異常的檢查:不應(yīng)該聲明該方法而拋出java.lang.Exception異常,不應(yīng)當(dāng)將異常用于流控制,不應(yīng)該捕獲Throwable,等等。

17、日志檢查

查找java.util.logging.Logger的不當(dāng)使用,包括非終狀態(tài)(nonfinal)、非靜態(tài)的記錄器,以及在一個(gè)類(lèi)中有多個(gè)記錄器。

18、Open—Close檢查

檢查文件或通訊方面,是否忘記Close的情況。

19、其它檢查

其它缺陷清單可參見(jiàn):缺陷清單。

20、構(gòu)建自己的規(guī)則集

可以構(gòu)建自己的規(guī)則集。

使用說(shuō)明

下載之后,把解壓后的文件拷貝到 $ECLIPSE_HOME/plugins/目錄下,重新啟動(dòng)eclipse即完成安裝。

1、插件的設(shè)置:

安裝好之后,可以通過(guò) Projects > Property > FindBugs標(biāo)簽對(duì)其進(jìn)行設(shè)置。設(shè)置方法可以根據(jù)自己的需要進(jìn)行調(diào)整。

另外在 問(wèn)題(Proplems)列表窗口(Windows > 視圖 > 問(wèn)題)的Filter設(shè)置里,把FindBugs的有關(guān)選項(xiàng)都check上。

2、插件的執(zhí)行:

選中 所在項(xiàng)目,鼠標(biāo)右鍵 > Find Bugs > Find Bugs執(zhí)行

標(biāo)簽: 編程工具 靜態(tài)分析

下載地址

FindBugs (靜態(tài)分析Eclipse插件)v3.0.1

普通下載通道

網(wǎng)友評(píng)論

返回頂部