Pular para o conteúdo principal

null_check_on_nullable_type_parameter

Saiba mais sobre a regra de lint null_check_on_nullable_type_parameter.

Estável
Core
Correção disponível
Lançado no Dart 2.12

Não use verificação de null em um parâmetro de tipo potencialmente anulável.

Detalhes

#

NÃO FAÇA use verificação de null em um parâmetro de tipo potencialmente anulável.

Dado um parâmetro de tipo genérico T que tem um limite anulável (por exemplo, o limite padrão Object?), é muito fácil introduzir verificações de null errôneas ao trabalhar com uma variável do tipo T?. Especificamente, não é incomum ter T? x; e querer afirmar que x recebeu um valor válido do tipo T. Um erro comum é fazer isso com x!. Isso quase sempre está incorreto, pois, se T for um tipo anulável, x pode validamente conter null como um valor do tipo T.

RUIM:

dart
T run<T>(T callback()) {
  T? result;
  (() { result = callback(); })();
  return result!;
}

BOM:

dart
T run<T>(T callback()) {
  T? result;
  (() { result = callback(); })();
  return result as T;
}

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - null_check_on_nullable_type_parameter

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

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