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

prefer_foreach

安定版
修正が利用可能です

すべての要素に関数を適用するだけであれば、forEach を使用してください。

詳細

#

推奨: イテラブルのすべての要素に関数またはメソッドを適用するだけの場合は、forEach を使用してください。

イテラブルのすべての要素に関数またはメソッドを適用するだけの場合に forEach を使用することは、コードをより簡潔にできるため、良い習慣です。

悪い例

dart
for (final key in map.keys.toList()) {
  map.remove(key);
}

良い例

dart
map.keys.toList().forEach(map.remove);

注意: forEach ステートメントを forEach 呼び出しに置き換えると、イテラブル自体に副作用がある場合に動作が変わる可能性があります。

dart
for (final v in myList) {
  foo().f(v); // This code invokes foo() many times.
}

myList.forEach(foo().f); // But this one invokes foo() just once.

有効にする

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_foreach

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

analysis_options.yaml
yaml
linter:
  rules:
    prefer_foreach: true