always_ specify_ types
Saiba mais sobre a regra de lint always_specify_types.
Especifique anotações de tipo.
Detalhes
#Do guia de estilo do repositório do flutter:
FAÇA especificar anotações de tipo.
Evite var quando for indicar que um tipo é desconhecido, e evite atalhos que
omitem anotações de tipo. Use dynamic se você estiver sendo explícito quanto
ao fato de que o tipo é desconhecido. Use Object se você estiver sendo
explícito quanto a querer um objeto que implemente == e hashCode.
RUIM:
var foo = 10;
final bar = Bar();
const quux = 20;
BOM:
int foo = 10;
final Bar bar = Bar();
String baz = 'hello';
const int quux = 20;
NOTA: Usando a anotação @optionalTypeArgs do pacote meta, autores de APIs
podem tratar como exceção parâmetros de tipo que precisam ser dynamic, mas
cuja declaração deve ser tratada como opcional. Por exemplo, suponha que você
tenha um objeto Key cujo parâmetro de tipo você queira tratar como opcional.
Usando @optionalTypeArgs, ficaria assim:
import 'package:meta/meta.dart';
@optionalTypeArgs
class Key<T> {
...
}
void main() {
Key s = Key(); // OK!
}
Regras incompatíveis
#O lint always_specify_types é incompatível com as seguintes regras:
-
avoid_types_on_closure_parameters omit_local_variable_types-
omit_obvious_local_variable_types -
omit_obvious_property_types
Ativar
#
Para ativar a regra always_specify_types, adicione always_specify_types em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- always_specify_types
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione always_specify_types: true em linter > rules:
linter:
rules:
always_specify_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ê.