Pular para o conteúdo principal

always_specify_types

Saiba mais sobre a regra de lint always_specify_types.

Estável
Correção disponível

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:

dart
var foo = 10;
final bar = Bar();
const quux = 20;

BOM:

dart
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:

dart
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:

Ativar

#

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

analysis_options.yaml
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:

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