跳到主要內容

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