不必要的gettersetter
避免為了「安全」而將欄位包裹在 getter 和 setter 中。
此規則自 Dart 2.0 起提供。
此規則有可用的快速修正。
詳細資訊
#避免為了「安全」而將欄位包裹在 getter 和 setter 中。
在 Java 和 C# 中,常見的做法是將所有欄位隱藏在 getter 和 setter(或 C# 中的屬性)之後,即使實作只是轉發到該欄位。這樣一來,如果需要對這些成員執行更多工作,則可以執行,而無需接觸呼叫點。這是因為在 Java 中呼叫 getter 方法與存取欄位不同,而且存取屬性在 C# 中與存取原始欄位不具有二進位相容性。
Dart 沒有此限制。欄位和 getter/setter 完全無法區分。您可以在類別中公開一個欄位,然後將其包裹在 getter 和 setter 中,而無需接觸任何使用該欄位的程式碼。
不良範例
dart
class Box {
var _contents;
get contents => _contents;
set contents(value) {
_contents = value;
}
}
良好範例
dart
class Box {
var contents;
}
用法
#若要啟用 unnecessary_getters_setters
規則,請在您的 analysis_options.yaml
檔案中,於 linter > rules 下方新增 unnecessary_getters_setters
analysis_options.yaml
yaml
linter:
rules:
- unnecessary_getters_setters
除非另有說明,否則本網站上的文件反映的是 Dart 3.6.0。頁面最後更新於 2024-07-03。 檢視來源 或 回報問題。