跳到主要內容

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