目次

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` ファイルのリンター > ルールの下に `super_goes_last` を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - super_goes_last