目次

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

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

このルールはDart 2.0以降で使用できます。

詳細

#

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 > rulesavoid_field_initializers_in_const_classes を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_field_initializers_in_const_classes