Programmierer sind ja schreibfaul. Statt einer normalen Verzweigung erfanden sie also irgendwann die ternäre Operation. Also das weglassen des umständlichen if .. then .. else Krams und die Reduktion der Anweisung auf eine Zeile. Das kann viel Tipparbeit sparen, und reduziert die Codezeilen und erhöht unter Umständen die Übersicht. Immer wieder stoplere ich aber auch über ternäre Operationen die sich über mehrere Zeilen erstrecken und ungefähr so lesbar sind wie das Kleingedruckte auf einem Mobilfunkvertrag.

Das führt dann dazu das eigentlich offensichtliche Fehler übersehen werden. Als Beispiel: einer Variable wird entweder ein Wert oder NULL zugewiesen. Später wird geprüft ob die Variable NULL ist und die Verbeitung abgebrochen. Blöd nur wenn jetzt vor der Prüfung die 20 Zeilen später passiert jemand die Variable verwendet und übersieht das diese auch NULL sein kann.

Dabei könnte das Leben so einfach sein wenn man einfach abbricht statt die Variable erst umständlich auf NULL zu setzen. Der ternäre Operationen haben durchaus ihre Berechtigung, aber nicht um jeden Preis und schon gar nicht wenn dadurch die Lesbarkeit des Quellcodes leidet.