Drupal Coding Standards – Warum sich Einhalten lohnt


Klint irgendwie ein wenig wie die Games Conventions 😉 … Ich muss ehrlich gestehen, dass ich mich bis vor einigen Tagen noch nicht wirklich darum gekümmert habe. Coding Conventions gingen mir am A** vorbei, weil ich bereits meine eigenen hatte. Bisher ist das auch ziemlich gut gegangen, bis vor einigen Tagen.

In der Issue Queue meines Exif Moduls, gab es einige Patches, welche schon seit geraumer Zeit aufs Committen warteten. Vor zwei Wochen habe ich damit angefangen. 1. Patch ging bestens. Der zweite Patch ging dann nicht mehr so gut, weil ja der Code verändert wurde, sprich dieser Patch musste neu erstellt werden, bzw. manuell eingepflegt werden. Meinem Aufruf in der Issue Queue, ob denn jemand den Patch neu erstellen würde, wurde sogleich auch folge geleistet, allerdings unter der Bedingung, die Drupal Coding Conventions zuerst hergestellt würden. So habe ich das mal gemacht.

Also, warum lohnt es sich?

Ich finde folgende Gründe:

  • Einheitlich, alle machen es gleich -> einfacher und übersichtlicher, wenn man ein fremdes Modul weiterpflegen will.
  • Patches erstellen. In vielen Editoren (z.B. auch Eclipse) hat man die Möglichkeit zum Autoformatieren. In meinem Eclipse hatte ich immer zum Einrücken Tabs verwendet (was nicht dem Drupal Standard entspricht). Wenn jetzt jedoch jemand kommt, den Code verändert/erweitert, seinen Autoformatter laufen lässt (welcher Leerschläge zum Einrücken verwendet) und dann einen Patch daraus macht, dann wird dieser Patch recht gigantisch aussehen, da ja die ganzen Leerzeichen auch veärndert wurde.
  • Gibt es noch mehr?

Die wichtigsten Coding Conventions:

<?php function meine_funktion($var) { //Abstand vor geschweifter Klammer if (1 == 1) { //Abstand nach if und vor geschweifter Klammer $text = $var .' hallo welt'; //Abstand zwischen Variable und Punkt, kein Abstand zwischen .' } $ar = array(1, 2, 4); //Abstand nach Kommas } ?>

Eclipse einstellen

Es ist eigentlich sehr einfach: Window > Preferences. Dann dort: General > Editors > Text Editors Display tab width: 2 Insert spaces for tabs: True Wer PDT installiert hat, kann es auch nur für PHP Files machen: Window > Preferences, Dann dort: PHP > Code Style > Formatter

Links