Pular para o conteúdo principal

avoid_types_as_parameter_names

Detalhes sobre o diagnóstico 'avoid_types_as_parameter_names' produzido pelo analisador do Dart.

The parameter name '{0}' matches a visible type name.

The type parameter name '{0}' matches a visible type name.

Descrição

#

O analisador emite este diagnóstico quando o nome de um parâmetro em uma lista de parâmetros é igual a um tipo visível (um tipo cujo nome está no escopo).

Isso costuma indicar que o nome pretendido do parâmetro está faltando, fazendo com que o nome do tipo seja usado como nome do parâmetro em vez do tipo do parâmetro. Mesmo quando não é o caso (o nome do parâmetro é intencional), o nome do parâmetro vai sombrear o tipo existente, o que pode levar a bugs difíceis de diagnosticar.

O analisador também emite este diagnóstico quando o nome de um parâmetro de tipo em uma lista de parâmetros de tipo é igual a um tipo cujo nome está no escopo. Recomenda-se, novamente, renomear o parâmetro de tipo para evitar o sombreamento propenso a erros.

Exemplo

#

O código a seguir produz este diagnóstico porque a função f tem um parâmetro chamado int, que sombreia o tipo int de dart:core:

dart
void f(int) {}

Correções comuns

#

Se o nome do parâmetro estiver faltando, adicione um nome para o parâmetro:

dart
void f(int x) {}

Se o parâmetro deve ter o tipo implícito dynamic, renomeie o parâmetro para que ele não sombreie o nome de nenhum tipo visível:

dart
void f(int_) {}

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ê.