メインコンテンツにスキップ

avoid_setters_without_getters

安定版

getter のない setter を避ける。

詳細

#

対応する 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

代わりに、YAML マップ構文を使用して linter ルールを構成している場合は、linter > rules の下に avoid_setters_without_getters: true を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    avoid_setters_without_getters: true