bug無處不在,可是咱們總但願少一點bug。編程
最近發現了一款好用的尋找bug的插件,特此記下。安全
路徑:File-->Settings-->Plugins-->Browse repositories....-->輸入FindBugs-IDEA-->點擊安裝app
注意:安裝後須要重啓ideaide
有各類可選範圍性能
1->Bad pratice編程的壞習慣
主要是命名問題,好比類名最好以大寫開頭,字符串不要使用等號不等號進行比較,可能會有異常最好用try-catch包裹的代碼,方法有返回值但被忽略等等,這些若是不想改能夠直接忽略.編碼
2->Malicious code vulnerability 惡意代碼漏洞
聽起來很嚇人呀,主要是一些屬性直接使用public讓別的類來獲取,建議改成private併爲其提供get/set方法.
還有一些public的靜態字段,可能會被別的包獲取之類的.
這些也須要根據項目具體狀況來,我的意見,在有的不重要類,有時直接公開使用屬性,可能更爲便捷.若是你認爲這些不須要修改,徹底能夠忽略.idea
3->Dodgy code 糟糕的代碼
·好比一個double/float被強制轉換成int/long可能會致使精度損失,一些接近零的浮點數會被直接截斷,事實上咱們應該保留.
在類型轉換的時候,咱們應該爲類型轉換提供一個安全的轉換方法,由於咱們永遠不會知道,咱們的app在用戶手裏會發生什麼,因此咱們要儘量的去減小這種發生錯誤的可能..net
·好比使用switch的時候沒有提供default。插件
·多餘的空檢查,就是不可能爲空的值,增長了不爲空判斷,這是沒有必要的。屬於代碼冗餘指針
·不安全的類型轉換等等。
這項太多了,就不一一列舉了。
4->performance 性能
主要是一些無用的代碼,好比聲明瞭沒有用到的屬性等等
5->correctness 代碼的正確性 這一項應該算是最重要的了
主要是沒有對變量進行不爲空斷定,在特殊狀況可能發生空指針異常.
參考文章:http://blog.csdn.net/fancy_xty/article/details/51718687
一、點擊以下按鈕,可分析當前文件,真是太強大了。
二、有一個默認編碼檢查的類很煩
我直接去掉檢查了:Dector:DefaultEncodingDector