PHP Coding Standard

Logo: PHP
17. Regel 14: Funktionen mit langen oder vielen Parametern müssen übersichtlich strukturiert werden

Dies ist die Erweiterung zu Regel 12. Es wird oft notwendig sein, Funktionen mit vielen Parametern zu benutzen und/oder lange Variablennamen zu definieren. Der Befehl mktime() enthält sechs Parameter.

Gültig
   $date_strftime = strftime(
      '%a, %d. %b %Y',
      mktime(
         0,
         0,
         0,
         $row['month'],
         $row['day'],
         $row['year']
      )
   );

Auf den ersten Blick ist so eine verschachtelte Struktur und die Anwendung einer Funktion mit vielen Parametern sichtbar. Auch das die Funktion sechs Parameter hat ist über die Verteilung auf mehrere Zeilen besser ersichtlich.

Ungültig
   $date_strftime = strftime('%a, %d. %b %Y',mktime(0,0,0,$row['month'],$row['day'],$row['year']));

Natürlich ist dieser Code kompakter, aber neben den Problemen, die Parameter zu identifizieren, ist die Klammersetzung undeutlich. Da hier nur das Datum formatiert werden soll, gilt es über eine eigene Funktion nachzudenken, die zum Beispiel mit "date_strftime($row['month'], $row['day'], $row['year'])" aufgerufen wird. Damit würde man den Code dann wieder auf eine Zeile reduzieren.