Pular para o conteúdo principal

type_init_formals

Saiba mais sobre a regra de lint type_init_formals.

Estável
Recomendado
Correção disponível

Não anote o tipo de parâmetros formais de inicialização.

Detalhes

#

Do Effective Dart:

NÃO FAÇA anotar o tipo de parâmetros formais de inicialização.

Se um parâmetro de construtor usa this.x para inicializar um campo, o tipo do parâmetro é entendido como o mesmo tipo do campo. Se um parâmetro de construtor usa super.x para repassar ao construtor da superclasse, o tipo do parâmetro é entendido como o mesmo do parâmetro correspondente do construtor da superclasse.

Anotar o tipo de um parâmetro formal de inicialização com um tipo diferente do tipo do campo é aceitável.

RUIM:

dart
class Point {
  int x, y;
  Point(int this.x, int this.y);
}

BOM:

dart
class Point {
  int x, y;
  Point(this.x, this.y);
}

RUIM:

dart
class A {
  int a;
  A(this.a);
}
​
class B extends A {
  B(int super.a);
}

BOM:

dart
class A {
  int a;
  A(this.a);
}
​
class B extends A {
  B(super.a);
}

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - type_init_formals

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

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