目次

type_init_formals

初期化仮引数に型注釈を付けないでください。

このルールは Dart 2.0 以降で使用可能です。

ルールセット:推奨flutter

このルールには、クイックフィックスが利用可能です。

詳細

#

Effective Dart より

初期化仮引数に型注釈を付けないでください。

コンストラクターパラメーターが this.x を使用してフィールドを初期化する場合、パラメーターの型はフィールドと同じ型であると理解されます。コンストラクターパラメーターが super.x を使用してスーパークラスのコンストラクターに転送する場合、パラメーターの型はスーパークラスのコンストラクターパラメーターと同じ型であると理解されます。

初期化仮引数に、フィールドの型とは異なる型注釈を付けることは問題ありません。

悪い例

dart
class Point {
  int x, y;
  Point(int this.x, int this.y);
}

良い例

dart
class Point {
  int x, y;
  Point(this.x, this.y);
}

悪い例

dart
class A {
  int a;
  A(this.a);
}

class B extends A {
  B(int super.a);
}

良い例

dart
class A {
  int a;
  A(this.a);
}

class B extends A {
  B(super.a);
}

使用法

#

type_init_formals ルールを有効にするには、analysis_options.yaml ファイルの linter > rulestype_init_formals を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    - type_init_formals