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

avoid_field_initializers_in_const_classes

安定版

const クラスでのフィールド初期化子の使用を避ける。

詳細

#

const クラスでのフィールド初期化子の使用を避けてください

final x = const expr; の代わりに、get x => const expr; と記述することで、無駄なフィールドの割り当てを避けることができます。2018年4月現在、これは VM では有効ですが、JS にコンパイルされるコードには当てはまりません。

悪い例

dart
class A {
  final a = const [];
  const A();
}

良い例

dart
class A {
  get a => const [];
  const A();
}

有効にする

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_field_initializers_in_const_classes

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

analysis_options.yaml
yaml
linter:
  rules:
    avoid_field_initializers_in_const_classes: true