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

prefer_final_in_for_each

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

参照が再代入されない場合は、for-eachループの変数にfinalを優先します。

詳細

#

推奨 コードの後半で再代入されない場合は、for-eachループの変数をfinalとして宣言してください。

可能な場合は、for-eachループの変数をfinalとして宣言することは良い習慣です。これにより、意図しない再代入を防ぎ、コンパイラが最適化を行うことができます。

悪い例

dart
for (var element in elements) { // LINT
  print('Element: $element');
}

良い例

dart
for (final element in elements) {
  print('Element: $element');
}

良い例

dart
for (var element in elements) {
  element = element + element;
  print('Element: $element');
}

互換性のないルール

#

prefer_final_in_for_each ルールは、以下のルールと互換性がありません。

有効にする

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_final_in_for_each

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

analysis_options.yaml
yaml
linter:
  rules:
    prefer_final_in_for_each: true