目录

super_goes_last

super 调用放在构造函数初始化列表的最后。

此规则已在最新的 Dart 版本中移除。

详细信息

#

注意:此规则在 Dart 3.0.0 中已移除;它不再起作用。

应该super 调用放在构造函数初始化列表的最后。

字段初始化器的计算顺序与它们在构造函数初始化列表中出现的顺序一致。如果在初始化列表中间放置 super() 调用,那么在计算子类的其余初始化器之前,将立即计算超类的初始化器。

但这并不意味着超类的构造函数体会在那时执行。无论 super 出现在哪里,它总是在所有初始化器运行之后执行。初始化器的顺序很少重要,因此 super 在列表中的位置也几乎无关紧要。

养成将其放在最后的习惯可以提高一致性,在视觉上加强超类构造函数体的运行时间,并可能有助于提高性能。

错误示例

dart
View(Style style, List children)
    : super(style),
      _children = children {

正确示例

dart
View(Style style, List children)
    : _children = children,
      super(style) {

用法

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - super_goes_last