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