PHP Coding Standard |
Es ist sehr beliebt, bestimmte Klammern nicht zu setzen, wenn es schnell gehen muss. "Hauptsache es läuft" ist eine fatale Einstellung für gute und strukturierte Programmierung.
if (15 > 9) if (isset($hl)) $string = 'TEST' else $text = 'test';
Wer liest bei der Variable "h1"? Ist es wirklich "h1"? Nein, es ist "hl". Wofür steht "hl"? Für Hyperlink. Es macht keinen Sinn ein so kurzes Wort abzukürzen, es erhöht nur die Verwirrung für einen anderen Programmierer, der diese Zeilen liest.
Fatal an dem ungültigen Beispiel ist die Art der Einrückung. Es wird vom "Dangling Else" gesprochen. Der Einrückung nach gehört das ELSE zum ersten IF, aber in Wirklichkeit gehört es zum zweiten IF.
So etwas kann leicht entstehen, wenn das Team sich nicht einig ist, ob Tabulatoren oder Leerzeichen zum Einrücken verwendet werden.
if (15 > 9) { if (isset($hl)) { $string = 'TEST'; } else { $text = 'test'; } }
Obwohl die Klammern jetzt gesetzt sind, wird man bei den letzten beiden Zeilen stutzig. Ein weiterer Grund, warum ich den Allman-Stil bevorzuge.
if (15 > 9) { if (isset($hyperlink)) { $string = 'TEST'; } else { $text = 'test'; } }
Selbst wenn das ELSE hier falsch eingerückt wäre, könnte man die Blöcke direkt zuordnen. So bilden Klammern und Inhalt eine Einheit.