super_goes_last
将 super
调用放在构造函数初始化列表的末尾。
详情
#注意:此规则在 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
如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 super_goes_last: true
analysis_options.yaml
yaml
linter:
rules:
super_goes_last: true
除非另有说明,否则本网站上的文档反映了 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。