no_self_assignments  
変数自身に代入しないでください。
詳細
#変数自身に代入してはいけません。通常、これは間違いです。
悪い例
dart
class C {
  int x;
  C(int x) {
    x = x;
  }
}良い例
dart
class C {
  int x;
  C(int x) : x = x;
}良い例
dart
class C {
  int x;
  C(int x) {
    this.x = x;
  }
}悪い例
dart
class C {
  int _x = 5;
  int get x => _x;
  set x(int x) {
    _x = x;
    _customUpdateLogic();
  }
  void _customUpdateLogic() {
    print('updated');
  }
  void example() {
    x = x;
  }
}良い例
dart
class C {
  int _x = 5;
  int get x => _x;
  set x(int x) {
    _x = x;
    _customUpdateLogic();
  }
  void _customUpdateLogic() {
    print('updated');
  }
  void example() {
    _customUpdateLogic();
  }
}悪い例
dart
class C {
  int x = 5;
  void update(C other) {
    this.x = this.x;
  }
}良い例
dart
class C {
  int x = 5;
  void update(C other) {
    this.x = other.x;
  }
}有効にする
#no_self_assignments ルールを有効にするには、analysis_options.yaml ファイルの linter > rules の下に no_self_assignments を追加してください。
analysis_options.yaml
yaml
linter:
  rules:
    - no_self_assignments代わりに YAML マップ構文を使用してリンター ルールを構成している場合は、linter > rules の下に no_self_assignments: true を追加してください。
analysis_options.yaml
yaml
linter:
  rules:
    no_self_assignments: true