跳至主要内容

use_super_parameters

实验性
推荐
提供修复

尽可能使用 super-initializer parameters。

详情

#

"转发构造函数"除了将参数转发给其超类构造函数外不执行任何操作,应利用 super-initializer parameters 而不是在将参数传递给超类构造函数时重复参数名称。这使得代码更简洁,更容易阅读和维护。

尽可能使用 super-initializer parameters。

不好 (BAD)

dart
class A {
  A({int? x, int? y});
}
class B extends A {
  B({int? x, int? y}) : super(x: x, y: y);
}

好 (GOOD)

dart
class A {
  A({int? x, int? y});
}
class B extends A {
  B({super.x, super.y});
}

启用

#

要启用 use_super_parameters 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 use_super_parameters

analysis_options.yaml
yaml
linter:
  rules:
    - use_super_parameters

如果您改用 YAML map 语法配置 linter 规则,请在 linter > rules 下添加 use_super_parameters: true

analysis_options.yaml
yaml
linter:
  rules:
    use_super_parameters: true