首頁 > Java > java教程 > 主體

項目 檢查參數有效性

WBOY
發布: 2024-08-30 06:38:32
原創
363 人瀏覽過

Item  Verifique a validade dos parâmetros

章節:方法設計

  • 重點:方法設計的可用性、穩健性和靈活性。
  • 覆蓋範圍:參數和回傳值處理、方法簽章設計和文件。

第 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板