日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用FindBugs-IDEA插件找到代码中潜在的问题

發(fā)布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用FindBugs-IDEA插件找到代码中潜在的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

另一篇使用文檔,參照:https://www.cnblogs.com/huaxingtianxia/p/6703315.html

?

我們通常都會在APP上線之后,發(fā)現(xiàn)各種錯誤,尤其是空指針異常,這些錯誤對于用戶體驗來說是非常不好的,但其實大部分的問題,我們都能夠提前發(fā)現(xiàn).

在編寫代碼的過程中,可能不會時時刻刻記得檢查空的引用,還有刪除沒有用過的變量,在我們自己測試的過程中可能難以發(fā)現(xiàn)問題,一旦app上線,用戶的使用環(huán)境改變,這些潛在的問題就可能會冒出來.?
當然這這只是對于我這種經(jīng)常寫出空指針異常的小白而言的,編程風格良好,編程嚴謹?shù)拇笊裾埡雎?

今天我介紹一個小插件,幫助我們提前找到這些潛在的問題,然后根據(jù)需要去修改.

第一步下載插件,在AndroidStudio的File->Setting->Plugins->Browser Repositorise中搜索FindBugs-IDEA.然后install.?

因為已經(jīng)安裝過插件,所以install的按鈕已經(jīng)消失了.?
安裝成功后需要重啟AS才可以使用.?
?
靜靜等待一會,在下方生成分析結(jié)果

找到的bug太多,數(shù)量就不展示啦.?
我來簡單介紹一下這幾類bug,當然有些你是可以忽略的.?
1->Bad pratice編程的壞習慣?
主要是命名問題,比如類名最好以大寫開頭,字符串不要使用等號不等號進行比較,可能會有異常最好用try-catch包裹的代碼,方法有返回值但被忽略等等,這些如果不想改可以直接忽略.

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

3->Dodgy code 糟糕的代碼?
·比如一個double/float被強制轉(zhuǎn)換成int/long可能會導致精度損失,一些接近零的浮點數(shù)會被直接截斷,事實上我們應該保留.?
這里順便提一點,這兩天看了《app研發(fā)錄》,在規(guī)范代碼,盡量規(guī)避錯誤這方面我也有了一些收獲.?
在類型轉(zhuǎn)換的時候,我們應該為類型轉(zhuǎn)換提供一個安全的轉(zhuǎn)換方法,因為我們永遠不會知道,我們的app在用戶手里會發(fā)生什么,所以我們要盡可能的去減少這種發(fā)生錯誤的可能.

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

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

·不安全的類型轉(zhuǎn)換等等。?
這項太多了,就不一一列舉了。

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

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

這篇文章還只是對FindBugs這個插件最主要的功能進行介紹,相信你能在使用過程中發(fā)現(xiàn)這個工具更多的用法.

該博客由博主原創(chuàng),轉(zhuǎn)載請聲明出處?
http://blog.csdn.net/fancy_xty/article/details/51718687

轉(zhuǎn)載于:https://www.cnblogs.com/aligege/p/7308274.html

總結(jié)

以上是生活随笔為你收集整理的使用FindBugs-IDEA插件找到代码中潜在的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。