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

prefer_final_parameters

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

再代入されないパラメータ宣言には final を推奨します。

詳細

#

推奨: 関数本体で再代入されないパラメータ宣言には final を使用してください。

可能な場合にパラメータを final として宣言することは、意図しない再代入を防ぐのに役立つため、良いプラクティスです。

悪い例

dart
void badParameter(String label) { // LINT
  print(label);
}

良い例

dart
void goodParameter(final String label) { // OK
  print(label);
}

悪い例

dart
void badExpression(int value) => print(value); // LINT

良い例

dart
void goodExpression(final int value) => print(value); // OK

悪い例

dart
[1, 4, 6, 8].forEach((value) => print(value + 2)); // LINT

良い例

dart
[1, 4, 6, 8].forEach((final value) => print(value + 2)); // OK

良い例

dart
void mutableParameter(String label) { // OK
  print(label);
  label = 'Hello Linter!';
  print(label);
}

互換性のないルール

#

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

有効にする

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_final_parameters

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

analysis_options.yaml
yaml
linter:
  rules:
    prefer_final_parameters: true