parameter_assignments
不要重新赋值函数或方法的参数引用。
详情
#不要为方法或函数的参数赋新值。
给参数赋新值通常不是好的做法,除非使用 ??=
等运算符。否则,随意重新赋值参数通常是个错误。
不好
dart
void badFunction(int parameter) { // LINT
parameter = 4;
}
不好
dart
void badFunction(int required, {int optional: 42}) { // LINT
optional ??= 8;
}
不好
dart
void badFunctionPositional(int required, [int optional = 42]) { // LINT
optional ??= 8;
}
不好
dart
class A {
void badMethod(int parameter) { // LINT
parameter = 4;
}
}
好
dart
void ok(String parameter) {
print(parameter);
}
好
dart
void actuallyGood(int required, {int optional}) { // OK
optional ??= ...;
}
好
dart
void actuallyGoodPositional(int required, [int optional]) { // OK
optional ??= ...;
}
好
dart
class A {
void ok(String parameter) {
print(parameter);
}
}
启用
#要启用 parameter_assignments
规则,请在您的 analysis_options.yaml
文件的 linter > rules 下添加 parameter_assignments
analysis_options.yaml
yaml
linter:
rules:
- parameter_assignments
如果您使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 parameter_assignments: true
analysis_options.yaml
yaml
linter:
rules:
parameter_assignments: true