猜您喜歡:
FindBugs是款可以幫助用戶快速查找出Java軟件中隱藏bug的靜態(tài)分析eclipse插件工具,支持命名、未使用的代碼、嵌套、導(dǎo)入語(yǔ)句、字符串、括號(hào)、代碼尺寸、終結(jié)函數(shù)、克隆、異常、日志檢查等,找出hash equals不匹配,還可以可以構(gòu)建自己的規(guī)則集。
1 、找出hash equals不匹配
找與equals()和hashCode()的實(shí)現(xiàn)相關(guān)的幾個(gè)問(wèn)題。這兩個(gè)方法非常重要,因?yàn)閹缀跛谢诩系念?--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í)是這樣,但是他忘記了字符串是不可變的。所有這類方法都返回一個(gè)新字符串,而從來(lái)不會(huì)改變消息的接收者。
3、檢測(cè):Null指針對(duì)null的解引用(dereference)和冗余比較
這個(gè)檢測(cè)器查找兩類問(wèn)題。它查找代碼路徑將會(huì)或者可能造成null指針異常的情況,它還查找對(duì)null的冗余比較的情況。例如,如果兩個(gè)比較值都為null,那么它們就是冗余的并可能表明代碼錯(cuò)誤。FindBugs在可以確定一個(gè)值為null而另一個(gè)值不為null時(shí),檢測(cè)類似的錯(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è)試:變量名稱不應(yīng)太短;方法名稱不應(yīng)過(guò)長(zhǎ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è)類被導(dǎo)入兩次或者被導(dǎo)入java.lang的類中。
9、JUnit測(cè)試檢查
查找測(cè)試用例和測(cè)試方法的特定問(wèn)題,例如方法名稱的正確拼寫(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)的方法、有太多方法的類以及重構(gòu)方面的類似問(wèn)題。
13、終結(jié)函數(shù)檢查
因?yàn)樵贘ava語(yǔ)言中,finalize()方法不是那么普遍,它們的使用規(guī)則雖然很詳細(xì),但是人們對(duì)它們相對(duì)不是很熟悉。這類檢查查找finalize()方法的各種問(wèn)題,例如空的終結(jié)函數(shù),調(diào)用其他方法的finalize()方法,對(duì)finalize()的顯式調(diào)用,等等。
14、克隆檢查
用于clone()方法的新規(guī)則。凡是重寫(xiě)clone()方法的類都必須實(shí)現(xiàn)Cloneable,clone()方法應(yīng)該調(diào)用super.clone(),而clone()方法應(yīng)該聲明拋出CloneNotSupportedException異常,即使實(shí)際上沒(méi)有拋出異常,也要如此。
15、耦合檢查
查找類之間過(guò)度耦合的跡象,比如導(dǎo)入內(nèi)容太多;在超類型或接口就已經(jīng)夠用的時(shí)候使用子類的類型;類中的字段、變量和返回類型過(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è)類中有多個(gè)記錄器。
18、Open—Close檢查
檢查文件或通訊方面,是否忘記Close的情況。
19、其它檢查
其它缺陷清單可參見(jiàn):缺陷清單。
20、構(gòu)建自己的規(guī)則集
可以構(gòu)建自己的規(guī)則集。
下載之后,把解壓后的文件拷貝到 $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í)行
能夠查找Java軟件中可能出現(xiàn)的bug
幫助java工程師提高代碼質(zhì)量以及排除隱含的缺陷
直接查找可能存在的空的引用、多余的變量等錯(cuò)誤
看了這么多,你下載了FindBugs(靜態(tài)分析Eclipse插件)嗎?想要下載最新軟件就來(lái)非凡軟件站好玩的游戲、簡(jiǎn)單易懂的軟件教程、令人耳目一新的游戲玩法這里統(tǒng)統(tǒng)都有,更多精彩不容錯(cuò)過(guò)!
java軟件下載 java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,java軟件下載也可以讓您可以玩網(wǎng)絡(luò)游戲、與世界各地的人們聊天欣賞三維圖片等等。非凡小編推薦:java7、java8、java6
ApiPostLinux版v6.0.2 ApiPostLinux版是適用于Linux系統(tǒng)的接口管理工...詳情>>
platform-toolsv1.1 platform-tools是專為安卓開(kāi)發(fā)者打造的工具包,它...詳情>>
aardiov35.69.3 aardio作為一款獨(dú)特的混合型編程語(yǔ)言,它集成了多種編程范...詳情>>
酷狗k歌為大家提供的聽(tīng)歌服務(wù)都是很優(yōu)質(zhì)的,還能能夠隨時(shí)隨地在線唱歌,所有的音樂(lè)自由都是很全面的,支持一鍵消除原唱,本期小編給大家?guī)?lái)了詳細(xì)的操作攻略,有想知道的朋友千萬(wàn)不要錯(cuò)過(guò)!酷狗k歌消除原唱方法介紹在頁(yè)面里點(diǎn)擊上方的“我要唱”進(jìn)入后找到想要演唱的歌曲,然后點(diǎn)擊右邊的“K歌”進(jìn)入后點(diǎn)擊下方藍(lán)色的“開(kāi)始K歌”在下方菜單欄的可以看到,最左側(cè)的“原唱”是亮起的,代表現(xiàn)在開(kāi)啟了原唱點(diǎn)擊一下,變成了“智能
你是否曾經(jīng)因?yàn)槌鲂胁槐愣鄲溃胍粋€(gè)便捷、可靠的專車服務(wù)?現(xiàn)在,易來(lái)客運(yùn)為你提供了完美的解決方案。那么,如何通過(guò)易來(lái)客運(yùn)預(yù)約專車,享受舒適便捷的出行體驗(yàn)?zāi)?接下來(lái),小編我將為你詳細(xì)介紹易來(lái)客運(yùn)預(yù)約專車的步驟,讓你輕松預(yù)約到心儀的專車服務(wù)。易來(lái)客運(yùn)打車流程介紹1. 打開(kāi)app,可直接看到城際專車,訂票界面2. 填寫(xiě)具體的乘車信息,包含聯(lián)系人的電話,出發(fā)時(shí)間,乘車人數(shù),上下車的具體位置3. 提交訂單
你是否知道在江蘇智慧人社平臺(tái)上該如何辦理靈活就業(yè)相關(guān)手續(xù)呢?這一平臺(tái)為靈活就業(yè)人員提供了極大的便利。接下來(lái),我們就來(lái)一起探索一下,在江蘇智慧人社上辦理靈活就業(yè)的具體位置和流程,你是否也想了解更多呢?江蘇智慧人社登記靈活就業(yè)方法一覽1、進(jìn)入江蘇智慧人社APP,選擇相應(yīng)的登錄方式進(jìn)行賬號(hào)的登錄2、登錄江蘇智慧人社,點(diǎn)擊我的,查看個(gè)人賬戶是否實(shí)名認(rèn)證3、點(diǎn)擊左下角的首頁(yè),點(diǎn)擊右上方的全部點(diǎn)擊進(jìn)入4、進(jìn)入
本站所有資源(含游戲)均是軟件作者、開(kāi)發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!本站將不對(duì)任何資源負(fù)法律責(zé)任,所有資源請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。
如侵犯了您的版權(quán)、商標(biāo)等,請(qǐng)立刻聯(lián)系我們并具體說(shuō)明情況后,本站將盡快處理刪除,聯(lián)系
(版權(quán)說(shuō)明注意事項(xiàng))。若有關(guān)在線投稿、無(wú)法下載等問(wèn)題,請(qǐng)與本站客服人員聯(lián)系
!
用戶可自行按線路選擇相應(yīng)的下載點(diǎn),可以直接點(diǎn)擊下載/另存為,若直接點(diǎn)擊下載速度太慢,請(qǐng)嘗試使用高速下載器。為確保下載的文件能正常使用,請(qǐng)使用WinRAR最新版本解壓本站軟件。
建議大家謹(jǐn)慎對(duì)待所下載的文件,大家在安裝的時(shí)候務(wù)必留意每一步!關(guān)于360安全衛(wèi)士或QQ電腦管家的有關(guān)提示,請(qǐng)自行注意選擇操作。