diagnostic_ describe_ all_ properties
Saiba mais sobre a regra de lint diagnostic_describe_all_properties.
FAÇA referenciar todas as propriedades públicas em métodos de debug.
Detalhes
#
FAÇA referenciar todas as propriedades públicas nas implementações de método
debug.
Implementadores de Diagnosticable devem referenciar todas as propriedades
públicas em uma implementação de debugFillProperties(...) ou
debugDescribeChildren(...) para melhorar a capacidade de depuração em tempo de
execução.
Propriedades públicas são definidas como campos e getters que:
- não são privados ao pacote (por exemplo, prefixados com
_) - não são
staticnem sobrescritos - não são eles mesmos
Widgets ou coleções deWidgets
Além disso, o prefixo "debug" é tratado de forma especial para propriedades no
Flutter. Para fins de diagnóstico, uma propriedade foo e uma propriedade
prefixada debugFoo são tratadas como descrevendo efetivamente a mesma
propriedade, e basta referenciar uma delas.
RUIM:
class Absorber extends Widget {
bool get absorbing => _absorbing;
bool _absorbing;
bool get ignoringSemantics => _ignoringSemantics;
bool _ignoringSemantics;
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(DiagnosticsProperty<bool>('absorbing', absorbing));
// Missing reference to ignoringSemantics
}
}
BOM:
class Absorber extends Widget {
bool get absorbing => _absorbing;
bool _absorbing;
bool get ignoringSemantics => _ignoringSemantics;
bool _ignoringSemantics;
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(DiagnosticsProperty<bool>('absorbing', absorbing));
properties.add(DiagnosticsProperty<bool>('ignoringSemantics', ignoringSemantics));
}
}
Ativar
#
Para ativar a regra diagnostic_describe_all_properties, adicione diagnostic_describe_all_properties
em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- diagnostic_describe_all_properties
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione diagnostic_describe_all_properties: true em linter > rules:
linter:
rules:
diagnostic_describe_all_properties: 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ê.