super_ goes_ last
Saiba mais sobre a regra de lint super_goes_last.
Coloque a chamada de super por último na lista de inicialização de um construtor.
Detalhes
#NOTA: Esta regra foi removida no Dart 3.0.0; ela não funciona mais.
FAÇA colocar a chamada de super por último na lista de inicialização de um construtor.
Inicializadores de campos são avaliados na ordem em que aparecem na lista de inicialização do
construtor. Se você colocar uma chamada super() no meio de uma lista de inicializadores, os
inicializadores da superclasse serão avaliados naquele momento, antes de avaliar o restante dos
inicializadores da subclasse.
Isso não significa que o corpo do construtor da superclasse seja executado nesse momento. Ele
sempre é executado depois que todos os inicializadores são executados, independentemente de onde
super aparece. É extremamente raro que a ordem dos inicializadores importe, então a posição de
super na lista quase nunca importa também.
Criar o hábito de colocá-lo por último melhora a consistência, reforça visualmente quando o corpo do construtor da superclasse é executado e pode ajudar no desempenho.
- RUIM:
- ```dart
- View(Style style, List children)
-
super(style), _children = children {
**BOM:**
```dart
View(Style style, List children)
: _children = children,
super(style) {
Ativar
#
Para ativar a regra super_goes_last, adicione super_goes_last em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- super_goes_last
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione super_goes_last: true em linter > rules:
linter:
rules:
super_goes_last: 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ê.