目次

prefer_final_parameters

パラメータが再代入されない場合は、パラメータ宣言に`final`を使用することを推奨します。

このルールはDart 2.14以降で使用可能です。

このルールにはクイックフィックスが利用可能です。

互換性のないルール: unnecessary_final, avoid_final_parameters

詳細

#

関数本体で再代入されない場合は、パラメータを`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`ルールを有効にするには、`analysis_options.yaml`ファイルの**linter > rules**の下に`prefer_final_parameters`を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_final_parameters