我希望在我的Java代碼中,如果一個'if'陳述句是基于一個非正則的布爾條件,我希望得到警告。
例如:
void anyMethod() {
if(getCondition()) {
...
}
}
Boolean getCondition() { ... }
...
}
其中getCondition()可能回傳TRUE、FALSE或null
這種'if'控制元件可能會產生NullPointerException,應該避免使用。
在 IntelliJ 中,我試圖創建一個自定義的檢查模式,但我的模式不起作用。 如果我明確地在 getCondition() 上加上 @Nullable 注解,那么默認的檢查就會起作用,但是這個解決方案仍然依賴于一項可能沒有嚴格執行的手動任務(在方法回傳布林值的所有地方加上 @Nullable),并且不包括條件是一個本地布爾變數的代碼。
我怎樣才能撰寫一個IntelliJ檢查模式來跟蹤這種情況呢?
非常感謝。
uj5u.com熱心網友回復:
你可以為此創建一個自定義的檢查,就像這樣:
首先,請進入 "檢查 "頁面。
首先進入IntelliJ設定頁面中的檢查標簽。然后點擊加號按鈕,然后點擊 "添加搜索模板"
然后使用該模式:
if ($expression$) {$statement$;}
在$expression$模板上添加過濾器 "type=java.lang.Boolean",在$statement$模板上添加 "count=[0,inf]"。在添加過濾器時,請記住將游標放在模板上。
最終結果應該是這樣的:
為檢查作業設定一個目標。
給檢查一個名稱、一個工具提示、一個描述和一個抑制ID,你就完成了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/320498.html
標籤:


