Was ist klarer Form: if (! Wert) oder if (Flag == Wert)?

Ich verstehe, das ist eine subjektive Frage, so dass ich entschuldige mich, wenn es geschlossen werden muss, aber ich habe das Gefühl, es kommt oft genug für mich zu Fragen, ob es eine generelle Präferenz für eine form über die andere.

Offensichtlich die beste Antwort ist "umgestalten des Codes, so dass Sie nicht brauchen, um zu testen, Lüge", aber manchmal gibt es keine einfache Möglichkeit, dies zu tun und den "else" - Zweig ist einfach, um die Verarbeitung fortzusetzen. Also, wenn Sie müssen ein "wenn nicht "false" - Konstrukt ein, das ist der bevorzugte standard:

Den not-operator

if(!value)

Oder der test für falsche

if(value == false)
Kommentar zu dem Problem
Ein Vorteil der ersten ist, dass Sie nicht tun können, wenn (shouldLaunchMissiles = false) Kommentarautor: JRL
Es tritt auf, dass dies eine subjektive Frage, vorausgesetzt, die community fühlt, die Antworten sind wertvoll und behalten möchte, könnte jemand dieses eine wiki-Frage? Ich habe nicht das Gefühl geben, wie jemand eine "Antwort" Kredit für diese Frage ist wirklich fair, denn es gibt keine absolut richtige Antwort. Kommentarautor: CodexArcanum
Ich glaube nicht, dass die Prüfung für die Lüge ist ein problem. Ein größeres problem wäre, booleans, drückt eine negative Bedingung. if (!gezündet) ist viel deutlicher zu mir als if (unDetonated), zum Beispiel. Kommentarautor: Jeffrey L Whitledge
@Jeffrey: Es wird noch schlimmer. Wie etwa if (!unDetonated)? Das würde mich pause beim Lesen der code sicher. Kommentarautor: David Thornley
@David Thornley - Genau! Das ist, wo Boolesche Werte der negativen Bedeutung, die unweigerlich dazu führen! Kommentarautor: Jeffrey L Whitledge

InformationsquelleAutor der Frage CodexArcanum | 2010-06-04

Schreibe einen Kommentar