Sì e no.
Innanzitutto, per coloro che dicono no alla situazione senza eccezioni, ti sfido a trovare una situazione in cui una convenzione di codifica si adatta a tutti i casi d'uso. Questo non è diverso.
Ora, in una situazione in cui è stata valutata una semplice espressione, non aggiungerei == true
al codice. È ampiamente auto esplicativo e so che i miei colleghi capirebbero cosa sta succedendo senza molto però. Inoltre potresti cadere nella gioia del debug che sta scrivendo var = true
piuttosto che var == true
.
while (flag) {
// iterate
}
In una situazione in cui hai una funzione all'interno del confronto, a meno che il metodo sia della varietà isSomeCondition()
, aggiungerei == true
. Secondo me, farlo con un metodo ambiguo rende più chiaro cosa si aspetta che il codice sia. Dopotutto, è facile perdere un !
.
while (largeAmbiguousCheckingMethod(input) == true) {
}
In questa situazione dovresti sapere immediatamente quale sia l'intento, assumendo un metodo ben noto, e non ti imbatti nel problema dell'assegnazione accidentale.