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