literal_ only_ boolean_ expressions
Saiba mais sobre a regra de lint literal_only_boolean_expressions.
Expressão booleana composta apenas por literais.
Detalhes
#NÃO FAÇA teste condições compostas apenas por literais, já que o valor pode ser inferido em tempo de compilação.
Instruções condicionais que usam uma condição que não pode ser outra coisa além de FALSE tornam blocos de código não funcionais. Se a condição não puder ser avaliada como outra coisa além de
true, a instrução condicional é completamente redundante e deixa o código menos legível. É bem provável que o código não corresponda à intenção do programador. Ou a condição deve ser removida, ou deve ser atualizada para não avaliar sempre como
true ou false.
RUIM:
void bad() {
if (true) {} // LINT
}
RUIM:
void bad() {
if (true && 1 != 0) {} // LINT
}
RUIM:
void bad() {
if (1 != 0 && true) {} // LINT
}
RUIM:
void bad() {
if (1 < 0 && true) {} // LINT
}
RUIM:
void bad() {
if (true && false) {} // LINT
}
RUIM:
void bad() {
if (1 != 0) {} // LINT
}
RUIM:
void bad() {
if (true && 1 != 0 || 3 < 4) {} // LINT
}
RUIM:
void bad() {
if (1 != 0 || 3 < 4 && true) {} // LINT
}
NOTA: Uma exceção é feita para o idioma comum while (true) { }, que costuma ser preferido ao equivalente
for (;;).
BOM:
void good() {
while (true) {
// Do stuff.
}
}
Ativar
#
Para ativar a regra literal_only_boolean_expressions, adicione literal_only_boolean_expressions
em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- literal_only_boolean_expressions
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione literal_only_boolean_expressions: true em linter > rules:
linter:
rules:
literal_only_boolean_expressions: 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ê.