目录

avoid_setters_without_getters

避免使用没有 getter 的 setter。

此规则从 Dart 2.0 开始可用。

详情

#

不要 定义一个没有相应 getter 的 setter。

定义一个没有相应 getter 的 setter 可能会导致逻辑上的不一致。这样做可能会允许您将属性设置为某个值,但在观察该属性的值时,它可能很容易变得不同。

错误示例

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