目录

parameter_assignments

Don't reassign references to parameters of functions or methods.

此规则自 Dart 2.0 版本起可用。

详情

#

DON'T assign new values to parameters of methods or functions.

Assigning new values to parameters is generally a bad practice unless an operator such as ??= is used. Otherwise, arbitrarily reassigning parameters is usually a mistake.

BAD:

dart
void badFunction(int parameter) { // LINT
  parameter = 4;
}

BAD:

dart
void badFunction(int required, {int optional: 42}) { // LINT
  optional ??= 8;
}

BAD:

dart
void badFunctionPositional(int required, [int optional = 42]) { // LINT
  optional ??= 8;
}

BAD:

dart
class A {
  void badMethod(int parameter) { // LINT
    parameter = 4;
  }
}

GOOD:

dart
void ok(String parameter) {
  print(parameter);
}

GOOD:

dart
void actuallyGood(int required, {int optional}) { // OK
  optional ??= ...;
}

GOOD:

dart
void actuallyGoodPositional(int required, [int optional]) { // OK
  optional ??= ...;
}

GOOD:

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