IDEA-常用插件,使用FindBugs尋找bug,代碼分析


bug無處不在,但是我們總希望少一點bug。

最近發現了一款好用的尋找bug的插件,特此記下。

一、安裝

路徑:File-->Settings-->Plugins-->Browse repositories....-->輸入FindBugs-IDEA-->點擊安裝

 

二、使用

注意:安裝后需要重啟idea

 

 有各種可選范圍

三、結果分析

1->Bad pratice編程的壞習慣 
主要是命名問題,比如類名最好以大寫開頭,字符串不要使用等號不等號進行比較,可能會有異常最好用try-catch包裹的代碼,方法有返回值但被忽略等等,這些如果不想改可以直接忽略.

2->Malicious code vulnerability 惡意代碼漏洞 
聽起來很嚇人呀,主要是一些屬性直接使用public讓別的類來獲取,建議改為private並為其提供get/set方法. 
還有一些public的靜態字段,可能會被別的包獲取之類的. 
這些也需要根據項目具體情況來,個人意見,在有的不重要類,有時直接公開使用屬性,可能更為便捷.如果你認為這些不需要修改,完全可以忽略.

3->Dodgy code 糟糕的代碼 
·比如一個double/float被強制轉換成int/long可能會導致精度損失,一些接近零的浮點數會被直接截斷,事實上我們應該保留. 
在類型轉換的時候,我們應該為類型轉換提供一個安全的轉換方法,因為我們永遠不會知道,我們的app在用戶手里會發生什么,所以我們要盡可能的去減少這種發生錯誤的可能.

·比如使用switch的時候沒有提供default。

·多余的空檢查,就是不可能為空的值,增加了不為空判斷,這是沒有必要的。屬於代碼冗余

·不安全的類型轉換等等。 
這項太多了,就不一一列舉了。

4->performance 性能 
主要是一些無用的代碼,比如聲明了沒有用到的屬性等等

5->correctness 代碼的正確性 這一項應該算是最重要的了 
主要是沒有對變量進行不為空判定,在特殊情況可能發生空指針異常.

 

參考文章:http://blog.csdn.net/fancy_xty/article/details/51718687

四、擴展

1、點擊如下按鈕,可分析當前文件,真是太強大了。

 2、有一個默認編碼檢查的類很煩

  我直接去掉檢查了:Dector:DefaultEncodingDector


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM