跳到主要内容

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 映射语法来配置 linter 规则,请在 linter > rules 下添加 avoid_setters_without_getters: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_setters_without_getters: true