unnecessary_getters_setters
避免為了「安全」而將欄位包裝在 getter 和 setter 中。
詳細資訊
#避免為了「安全」而將欄位包裝在 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
如果您改用 YAML map 語法來設定 linter 規則,請在 linter > rules 下方新增 unnecessary_getters_setters: true
analysis_options.yaml
yaml
linter:
rules:
unnecessary_getters_setters: true
除非另有說明,否則本網站上的文件反映 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。 查看原始碼 或 回報問題。