Pular para o conteúdo principal

avoid_redundant_argument_values

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

The value of the argument is redundant because it matches the default value.

Descrição

#

O analisador emite este diagnóstico quando um argumento é passado para um parâmetro opcional de uma função, mas o valor do argumento é igual ao valor padrão do parâmetro. O argumento duplicado pode frequentemente ser removido sem alterar o comportamento do código.

Ao invocar métodos, como a verificação de redundância se baseia no tipo estático do alvo da invocação, podem ocorrer falsos positivos quando uma sobrescrita de método altera o valor padrão de um parâmetro. Se o tipo estático tiver um valor padrão especificado e o tipo em tempo de execução tiver outro, o diagnóstico pode não ser preciso.

Exemplos

#

O código a seguir produz este diagnóstico porque o argumento nomeado b tem o mesmo valor do seu padrão, true:

dart
void g({bool b = true}) {}
​
void f() {
  g(b: true);
}

O código a seguir produz este diagnóstico porque o argumento posicional 1 tem o mesmo valor do padrão do segundo parâmetro de g:

dart
void g([int? a, int? b = 1]) {}
​
void f() {
  g(0, 1);
}

Correções comuns

#

Remova o argumento redundante da invocação:

dart
void g({bool b = true}) {}
​
void f() {
  g();
}
dart
void g([int? a, int? b = 1]) {}
​
void f() {
  g(0);
}

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