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 map 語法來設定 linter 規則,請在 linter > rules 下新增 super_goes_last: true
analysis_options.yaml
yaml
linter:
rules:
super_goes_last: true
除非另有說明,否則本網站上的文件反映 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。檢視原始碼 或 回報問題。