項目 檢查參數有效性
章節:方法設計
- 重點:方法設計的可用性、穩健性和靈活性。
- 覆蓋範圍:參數和回傳值處理、方法簽章設計和文件。
第 49 項:檢查參數有效性
- 參數限制:
方法和建構子通常對參數值有限制(例如非負索引、非空引用)。
這些限制必須在方法開始時記錄並驗證。
- 驗證的重要性:
儘早偵測錯誤,以避免方法中出現意外故障或不正確的行為。
不檢查參數的方法可能會導致難以調試的崩潰。
- 異常文件:
使用 @throws Javadoc 標籤記錄違反約束時引發的例外狀況。
常見例外:IllegalArgumentException、IndexOutOfBoundsException、NullPointerException。
參數檢查範例:
public static int mod(int x, int y) { if (y <= 0) { throw new IllegalArgumentException("Divisor deve ser positivo."); } return x % y; }
- Objects.requireNonNull 的使用:
Java 7 中引入,用於檢查物件的可空性。
傳回驗證後通過的值:
this.m = Objects.requireNonNull(m, "Parâmetro 'm' não pode ser nulo");
- 範圍檢查(Java 9):
checkFromIndexSize、checkFromToIndex 和 checkIndex 方法用於檢查清單和陣列中的索引。
彈性較差,主要用於集合。
**
- 非公共方法中的參數檢查:** 對於非導出方法,使用斷言來檢查參數:
assert x > 0 : "Valor de x deve ser positivo";
- 特殊情況:
建構者應始終檢查儲存參數的有效性以供以後使用。
對於成本高昂的檢查可以例外,其中檢查在計算過程中是隱式的。
- 隱式驗證範例:
Collections.sort(List) 假設物件是相互比較的。驗證發生在排序過程中。
- 異常翻譯:
當隱式檢查拋出錯誤的異常時,使用“異常翻譯”來拋出正確的異常。
- 限制的彈性:
方法應設計得盡可能通用,並施加盡可能少的限制。
- 結論:
記錄並實施方法和建構函數的參數有效性檢查。練習對於避免未來的錯誤和促進除錯至關重要。
以上是項目 檢查參數有效性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

在使用IntelliJIDEAUltimate版本啟動Spring...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...
