Pular para o conteúdo principal

prefer_final_parameters

Saiba mais sobre a regra de lint prefer_final_parameters.

Descontinuado
Correção disponível
Lançado no Dart 2.14

Prefira final nas declarações de parâmetros se eles não forem reatribuídos.

Detalhes

#

Nota: Esta regra de lint foi descontinuada no Dart 3.11 e será removida em uma versão futura do SDK do Dart. Observe também que a regra não é aplicada a código que optou pelo recurso de linguagem primary-constructors, em que usar final em um parâmetro passa a ser um erro de compilação. Se você quiser garantir que os parâmetros não sejam reatribuídos nos corpos de funções, considere ativar a regra de lint parameter_assignments em vez desta.

FAÇA preferir declarar parâmetros como final se eles não forem reatribuídos no corpo da função.

Declarar parâmetros como final quando possível é uma boa prática, porque ajuda a evitar reatribuições acidentais.

RUIM:

dart
void badParameter(String label) { // LINT
  print(label);
}

BOM:

dart
void goodParameter(final String label) { // OK
  print(label);
}

RUIM:

dart
void badExpression(int value) => print(value); // LINT

BOM:

dart
void goodExpression(final int value) => print(value); // OK

RUIM:

dart
[1, 4, 6, 8].forEach((value) => print(value + 2)); // LINT

BOM:

dart
[1, 4, 6, 8].forEach((final value) => print(value + 2)); // OK

BOM:

dart
void mutableParameter(String label) { // OK
  print(label);
  label = 'Hello Linter!';
  print(label);
}

Regras incompatíveis

#

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

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_final_parameters

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

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