目次

avoid_init_to_null

変数を明示的にnullに初期化しないでください。

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

ルールセット:推奨flutter

このルールにはクイックフィックスが用意されています。

詳細

#

Effective Dartより

しないでください:変数を明示的にnullに初期化しないでください。

変数が非Null許容型であるか、finalである場合、Dartは、確実に初期化される前に使用しようとすると、コンパイルエラーを報告します。変数がNull許容型であり、constまたはfinalでない場合、暗黙的にnullに初期化されます。「初期化されていないメモリ」の概念はDartにはなく、変数を明示的にnullに初期化して「安全」にする必要はありません。= nullを追加することは冗長であり、不要です。

悪い例

dart
Item? bestDeal(List<Item> cart) {
  Item? bestItem = null;

  for (final item in cart) {
    if (bestItem == null || item.price < bestItem.price) {
      bestItem = item;
    }
  }

  return bestItem;
}

良い例

dart
Item? bestDeal(List<Item> cart) {
  Item? bestItem;

  for (final item in cart) {
    if (bestItem == null || item.price < bestItem.price) {
      bestItem = item;
    }
  }

  return bestItem;
}

使用方法

#

avoid_init_to_nullルールを有効にするには、analysis_options.yamlファイルのlinter > rulesの下にavoid_init_to_nullを追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_init_to_null