跳至主要內容

avoid_setters_without_getters

穩定

避免使用沒有 getter 的 setter。

詳細資訊

#

請勿定義沒有對應 getter 的 setter。

定義 setter 而不定義對應的 getter 可能會導致邏輯不一致。這樣做可能會允許您將屬性設定為某個值,但在觀察屬性的值時,它很容易變得不同。

不良範例

dart
class Bad {
  int l, r;

  set length(int newLength) {
    r = l + newLength;
  }
}

良好範例

dart
class Good {
  int l, r;

  int get length => r - l;

  set length(int newLength) {
    r = l + newLength;
  }
}

啟用

#

若要啟用 avoid_setters_without_getters 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 avoid_setters_without_getters

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_setters_without_getters

如果您改用 YAML map 語法來設定 linter 規則,請在 linter > rules 下新增 avoid_setters_without_getters: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_setters_without_getters: true