跳到主要内容

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 文件中,将 avoid_setters_without_getters 添加到 linter > rules

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_setters_without_getters

如果你使用 YAML map 语法配置 linter 规则,请将 avoid_setters_without_getters: true 添加到 linter > rules

analysis_options.yaml
yaml
linter:
  rules:
    avoid_setters_without_getters: true