Pular para o conteúdo principal

no_default_cases

Saiba mais sobre a regra de lint no_default_cases.

Experimental
Lançado no Dart 2.9

Sem casos default.

Detalhes

#

Switches sobre enums e classes semelhantes a enum não devem usar uma cláusula default.

Classes semelhantes a enum são definidas como classes concretas (não abstratas) que têm:

  • apenas construtores privados não-factory
  • dois ou mais campos static const cujo tipo é a classe que os contém, e
  • nenhuma subclasse da classe na biblioteca que a define

FAÇA defina o comportamento padrão fora dos blocos switch.

RUIM:

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

BOM:

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

Ativar

#

Para ativar a regra no_default_cases, adicione no_default_cases em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - no_default_cases

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione no_default_cases: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    no_default_cases: true

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.