Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#37

AW: TRUE/FALSE Part

  Alt 2. Apr 2015, 08:04
Ich kenne keine moderne Programmiersprache wo es üblich wäre, Vergleiche mit booleschen Werten zu machen.
In C# gibt es eine ziemlich große Fraktion, die meint, das if (!Foo) schlecht lesbar wäre, das das '!' leicht verschluckt wiürde. Sie bevorzugen if (Foo == false) . Und weil es immer 'Puristen' gibt, die B sagen, wenn jemand A ruft, schreiben die dann if (Foo == true)
...Die einzige in allen Sprachen konstante Weisheit ist: false = 0...
Wenn man für alle Fälle und immer sicher sein will, prüft man stets nur auf false...Ein einfaches Weglassen von =true oder =false hat bei mir bisher aber auch in Fällen der Zusammenarbeit mit C und APIs immer zum richtigen Ergebnis geführt. Entweder Glück, oder Delphi tut da relativ sinnvolle Dinge im Hintergrund. Oder ich habe bisher keine allzu bösartigen DLLs in der Hand gehabt.
Du bestätigst also eigentlich durch deine eigenen Erfahrungen die Aussagen der meisten hier.

Delphi tut hier gar nichts, außer eben, nur 0 als 'FALSE' zu behandeln. Wie pervers ein Vergleich auf 'True' oder 'False' mit anderen Werten als 0/1 ist (z.B. obskure Rückgabewerte einer DLL-Funktion) zeigt meine Aufstellung. Die besagt ja genau das, was du durch Erfahrung herausbekommen hast: Nie auf =true, =false prüfen.
  Mit Zitat antworten Zitat