prefer_ final_ fields
Saiba mais sobre a regra de lint prefer_final_fields.
Campo privado poderia ser final.
Detalhes
#Do Effective Dart:
FAÇA preferir declarar campos privados como final se eles não forem reatribuídos
depois na biblioteca.
Declarar campos como final quando possível é uma boa prática, porque ajuda a evitar
reatribuições acidentais e permite que o compilador faça otimizações.
RUIM:
class BadImmutable {
var _label = 'hola mundo! BadImmutable'; // LINT
var label = 'hola mundo! BadImmutable'; // OK
}
RUIM:
class MultipleMutable {
var _label = 'hola mundo! GoodMutable', _offender = 'mumble mumble!'; // LINT
var _someOther; // LINT
MultipleMutable() : _someOther = 5;
MultipleMutable(this._someOther);
void changeLabel() {
_label= 'hello world! GoodMutable';
}
}
BOM:
class GoodImmutable {
final label = 'hola mundo! BadImmutable', bla = 5; // OK
final _label = 'hola mundo! BadImmutable', _bla = 5; // OK
}
BOM:
class GoodMutable {
var _label = 'hola mundo! GoodMutable';
void changeLabel() {
_label = 'hello world! GoodMutable';
}
}
RUIM:
class AssignedInAllConstructors {
var _label; // LINT
AssignedInAllConstructors(this._label);
AssignedInAllConstructors.withDefault() : _label = 'Hello';
}
BOM:
class NotAssignedInAllConstructors {
var _label; // OK
NotAssignedInAllConstructors();
NotAssignedInAllConstructors.withDefault() : _label = 'Hello';
}
Ativar
#
Para ativar a regra prefer_final_fields, adicione prefer_final_fields em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- prefer_final_fields
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione prefer_final_fields: true em linter > rules:
linter:
rules:
prefer_final_fields: 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ê.