目錄

prefer_final_parameters

如果參數宣告未被重新賦值,則優先使用 final。

此規則自 Dart 2.14 起提供。

此規則有可用的快速修正

不相容的規則:unnecessary_finalavoid_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