PHP Coding Standard

Logo: PHP
29. Empfehlung 1: Geschweifte Klammern werden im Allman-Stil eingerückt

Empfehlungen können, im Gegensatz zu Regeln, ohne weiteren Kommentar gebrochen werden. Man sollte das jedoch nur tun, wenn es zwingende Gründe dafür gibt, oder die Logik sonst aufwändig zu implementieren wäre.

Jede geschweifte Klammer wird dem Allman-Stil entsprechend untereinander in die gleiche Spalte gesetzt. Die Klammer erhält eine eigene Zeile. Auch sonst ist der Allman-Stil anderen Methoden des Einrückens vorzuziehen.

Ungültig
   if ($a > $b) {
      echo "a ist größer als b";
   } elseif ($a == $b) {
      echo "a ist gleich b";
   } else {
      echo "a ist kleiner als b";
   }

Das Beispiel wurde von php.net genommen und deswegen kann es nicht "falsch" sein. Man verstößt nur gegen eine Empfehlung des PHP Coding Standards, nicht mehr und nicht weniger.

Gültig
   if ($a > $b)
   {
      echo "a ist größer als b";
   }
   elseif ($a == $b)
   {
      echo "a ist gleich b";
   }
   else
   {
      echo "a ist kleiner als b";
   }

Neben der besseren Übersichtlichkeit, unterstützt diese Vorgehensweise auch Copy&Paste, weil ein ganzer Block leichter markiert werden kann. Auch im Texteditor vi ist es leichter ganze Zeilen zu kopieren, als mitten in der Zeile bei der geschweiften Klammer anzufangen.

Trotzdem ist es letztendlich Geschmackssache, wie man die Klammern setzt. Wie eingerückt wird und wo die Klammern stehen, ist unter Programmierern eine der größten Debatten aller Zeiten. Ich empfehle eine Klammersetzung, die mir (und anderen) besonders lesbar erscheint und die Copy&Paste unterstützt. Andere Schreibweisen erzeugen jedoch kompakteren Code. Nach Möglichkeit sollte sich das Team auf einen Standard einigen und diesen befolgen.