Pular para o conteúdo principal

specify_nonobvious_local_variable_types

Saiba mais sobre a regra de lint specify_nonobvious_local_variable_types.

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

Especifique anotações de tipo não óbvias para variáveis locais.

Detalhes

#

Anote o tipo de variáveis locais inicializadas quando o tipo for não óbvio.

Anotações de tipo em variáveis locais podem servir como um pedido de inferência de tipo, documentando o resultado esperado da etapa de inferência e permitindo, de forma declarativa, que o compilador e o analisador resolvam a tarefa possivelmente complexa de encontrar os argumentos de tipo e as anotações na expressão de inicialização que produzam o resultado desejado.

Anotações de tipo em variáveis locais também podem informar os leitores sobre o tipo da expressão de inicialização, o que lhes permite continuar lendo as linhas seguintes do código com informações confiáveis sobre o tipo da variável (o que pode não ser imediatamente evidente ao olhar para a expressão de inicialização).

RUIM:

dart
List<List<Ingredient>> possibleDesserts(Set<Ingredient> pantry) {
  var desserts = genericFunctionDeclaredFarAway(<num>[42], 'Something');
  for (final recipe in cookbook) {
    if (pantry.containsAll(recipe)) {
      desserts.add(recipe);
    }
  }
​
  return desserts;
}
​
const List<List<Ingredient>> cookbook = ...;

BOM:

dart
List<List<Ingredient>> possibleDesserts(Set<Ingredient> pantry) {
  List<List<Ingredient>> desserts = genericFunctionDeclaredFarAway(
    <num>[42],
    'Something',
  );
  for (final List<Ingredient> recipe in cookbook) {
    if (pantry.containsAll(recipe)) {
      desserts.add(recipe);
    }
  }
​
  return desserts;
}
​
const List<List<Ingredient>> cookbook = ...;

Regras incompatíveis

#

O lint specify_nonobvious_local_variable_types é incompatível com as seguintes regras:

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - specify_nonobvious_local_variable_types

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

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