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
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。