簡體   English   中英

編寫自定義 Lint 規則以確保在每次使用之前進行空檢查以避免 NullPointerException

[英]Writing custom Lint rule to ensure null-check before every using to avoid NullPointerException

我想制定一個自定義的 Lint 規則,以確保在每次引用服務器返回的 JavaBean 對象或其字段之前進行空檢查,以避免 NullPointerException。 例如:

錯誤案例:

SomeBean bean = fetchDataFromServer();
bean.getSomeField().doSomeThing();//-->Lint should report error, missing null-check before using

正確的情況:

if (bean != null && bean.getSomeField() != null) {
    bean.getSomeField().doSomeThing();//-->Lint should check this ok, have checked for both reference
}

我的問題:此檢查是否已經實施了任何規則? 如果沒有,有人能給我一些想法如何編寫這樣的自定義規則嗎?

任何幫助,將不勝感激。

有處理得墨忒耳定律 (LoD)的聲納規則RSPEC-2259

不應取消引用空指針

永遠不應取消引用/訪問對 null 的引用。 這樣做會導致拋出 NullPointerException。 充其量,這樣的異常會導致程序突然終止。 在最壞的情況下,它可能會暴露對攻擊者有用的調試信息,或者它可能允許攻擊者繞過安全措施。

您可以為您的 Java IDE(例如 IntelliJ 或 Eclipse)使用免費的SonarLint插件插件。 要安裝免費的 IDE 擴展,請訪問官方網站: SonarLint

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM