内容

avoid_setters_without_getters

避免没有 Getter 的 Setter。

此规则从 Dart 2.0 开始可用。

详情

#

不要定义没有对应 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 文件中,在代码检查 > 规则下添加 avoid_setters_without_getters

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_setters_without_getters