one_ member_ abstracts
Saiba mais sobre a regra de lint one_member_abstracts.
Evite definir uma classe abstrata com um único membro quando uma função simples basta.
Detalhes
#NOTA: Como classes abstratas de um único membro costumam ser um passo intermediário, esta regra de lint foi descontinuada a partir do Dart 3.13 e será removida em uma versão futura do SDK do Dart. Remova todas as inclusões desta lint dos seus arquivos de opções de análise. Se você quiser continuar aplicando-a, considere implementar a regra com um plugin do analisador.
De Effective Dart:
EVITE definir uma classe abstrata com um único membro quando uma função simples basta.
Diferentemente do Java, o Dart tem funções de primeira classe, closures e uma sintaxe leve e agradável para usá-las. Se tudo o que você precisa é algo como um callback, basta usar uma função. Se você está definindo uma classe que só tem um único membro abstrato com um nome sem significado, como
call ou invoke, há uma boa chance de você só querer uma função.
RUIM:
abstract class Predicate {
bool test(item);
}
BOM:
typedef Predicate = bool Function(item);
Ativar
#
Para ativar a regra one_member_abstracts, adicione one_member_abstracts em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- one_member_abstracts
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione one_member_abstracts: true em linter > rules:
linter:
rules:
one_member_abstracts: 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ê.