omit_ obvious_ local_ variable_ types
Saiba mais sobre a regra de lint omit_obvious_local_variable_types.
Omita anotações de tipo óbvias para variáveis locais.
Detalhes
#Não anote o tipo de variáveis locais inicializadas quando o tipo for óbvio.
Variáveis locais, especialmente em código moderno, em que as funções tendem a ser pequenas, têm escopo muito restrito. Omitir o tipo direciona a atenção do leitor para o nome da variável, que é mais importante, e para o seu valor inicial. Por isso, anotações de tipo em variáveis locais que sejam óbvias devem ser omitidas.
RUIM:
List<List<Ingredient>> possibleDesserts(Set<Ingredient> pantry) {
List<List<Ingredient>> desserts = <List<Ingredient>>[];
for (final List<Ingredient> recipe in cookbook) {
if (pantry.containsAll(recipe)) {
desserts.add(recipe);
}
}
return desserts;
}
const cookbook = <List<Ingredient>>[....];
BOM:
List<List<Ingredient>> possibleDesserts(Set<Ingredient> pantry) {
var desserts = <List<Ingredient>>[];
for (final List<Ingredient> recipe in cookbook) {
if (pantry.containsAll(recipe)) {
desserts.add(recipe);
}
}
return desserts;
}
const cookbook = <List<Ingredient>>[....];
Às vezes, o tipo inferido não é o tipo que você quer que a variável tenha. Por exemplo, você pode pretender atribuir valores de outros tipos depois. Você também pode querer escrever uma anotação de tipo explicitamente, porque o tipo da expressão de inicialização não é óbvio e será útil para leitores futuros do código documentar esse tipo. Ou você pode querer se comprometer com um tipo específico, para que atualizações futuras de dependências (no código próximo, nos imports, em qualquer lugar) não alterem silenciosamente o tipo dessa variável, introduzindo erros de compilação ou bugs em tempo de execução nos locais onde ela é usada. Nesses casos, anote a variável com o tipo que você deseja.
BOM:
Widget build(BuildContext context) {
Widget result = someGenericFunction(42) ?? Text('You won!');
if (applyPadding) {
result = Padding(padding: EdgeInsets.all(8.0), child: result);
}
return result;
}
Regras incompatíveis
#O lint omit_obvious_local_variable_types é incompatível com as seguintes regras:
Ativar
#
Para ativar a regra omit_obvious_local_variable_types, adicione omit_obvious_local_variable_types
em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- omit_obvious_local_variable_types
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione omit_obvious_local_variable_types: true em linter > rules:
linter:
rules:
omit_obvious_local_variable_types: true
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.