目錄

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