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

prefer_for_elements_to_map_fromIterable

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

イテラブルからマップを構築する際は、for 要素を使用することを推奨します。

詳細

#

イテラブルからマップを構築する際は、for 要素を使用することが推奨されます。

「for」要素を使用すると、以下のようないくつかの利点があります。

  • パフォーマンス
  • 柔軟性
  • 可読性
  • 型推論の向上
  • null 安全性との連携の向上

悪い例

dart
Map<String, WidgetBuilder>.fromIterable(
  kAllGalleryDemos,
  key: (demo) => '${demo.routeName}',
  value: (demo) => demo.buildRoute,
);

良い例

dart
return {
  for (var demo in kAllGalleryDemos)
    '${demo.routeName}': demo.buildRoute,
};

良い例

dart
// Map<int, Student> is not required, type is inferred automatically.
final pizzaRecipients = {
  ...studentLeaders,
  for (var student in classG)
    if (student.isPassing) student.id: student,
};

有効にする

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_for_elements_to_map_fromIterable

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

analysis_options.yaml
yaml
linter:
  rules:
    prefer_for_elements_to_map_fromIterable: true