Pular para o conteúdo principal

avoid_init_to_null

Saiba mais sobre a regra de lint avoid_init_to_null.

Estável
Recomendado
Correção disponível

Não inicialize variáveis explicitamente com null.

Detalhes

#

Do Effective Dart:

NÃO FAÇA inicializar variáveis explicitamente com null.

Se uma variável tem um tipo não anulável ou é final, o Dart reporta um erro de compilação caso você tente usá-la antes de ela ser inicializada de forma definitiva. Se a variável é anulável e não é const nem final, ela é inicializada implicitamente com null para você. Não existe o conceito de "memória não inicializada" no Dart, e não há necessidade de inicializar explicitamente uma variável com null para estar "segura". Adicionar = null é redundante e desnecessário.

RUIM:

dart
Item? bestDeal(List<Item> cart) {
  Item? bestItem = null;
​
  for (final item in cart) {
    if (bestItem == null || item.price < bestItem.price) {
      bestItem = item;
    }
  }
​
  return bestItem;
}

BOM:

dart
Item? bestDeal(List<Item> cart) {
  Item? bestItem;
​
  for (final item in cart) {
    if (bestItem == null || item.price < bestItem.price) {
      bestItem = item;
    }
  }
​
  return bestItem;
}

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_init_to_null

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

analysis_options.yaml
yaml
linter:
  rules:
    avoid_init_to_null: 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ê.