目次

no_default_cases

デフォルトケースなし。

このルールは現在実験的であり、Dart 2.9以降で使用できます。

詳細

#

列挙型と列挙型のようなクラスのswitch文では、`default`句を使用しないでください。

列挙型のようなクラスは、以下の条件を満たす具象(非抽象)クラスとして定義されます。

  • プライベートな非ファクトリコンストラクタのみを持つ
  • 型が囲んでいるクラスである2つ以上の静的なconstフィールドを持つ
  • 定義ライブラリにクラスのサブクラスがない

必ずswitch文の外でデフォルトの動作を定義してください。

悪い例

dart
  switch (testEnum) {
    case TestEnum.A:
      return '123';
    case TestEnum.B:
      return 'abc';
    default:
      return null;
  }

良い例

dart
  switch (testEnum) {
    case TestEnum.A:
      return '123';
    case TestEnum.B:
      return 'abc';
  }
  // Default here.
  return null;

使用方法

#

`no_default_cases`ルールを有効にするには、`analysis_options.yaml`ファイルの**linter > rules**の下に`no_default_cases`を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - no_default_cases