PHP: Coding Style Guides & Standards

Wer kennt das nicht? Man öffnet fremden Quellcode und alles fühlt sich unschön an – die Klammern sind ganz wo anders, plötzlich schleichen sich Leerzeichen wo ein, wo man selbst keine macht, die Parameter sind anders aufgeführt, oder zwischen den Funktionen ist komisch viel Platz.

Spätestens wenn man gemeinsam an Projekten arbeitet, ist es unglaublich sinnvoll, wenn man sich auf deinen Coding-Standard einigt. Für genau dieses Problem wurde der „PHP Specification Request“ (kurz PSR) ins Leben gerufen. Hier wird sehr genau festgehalten, wie man zu Entwickeln hat. Also nicht nur, wo Klammern gesetzt werden etc., sondern beispielsweise auch:

  • welches Encoding die Dateien aufzuweisen haben
  • wie viele Klassen pro Datei erlaubt sind
  • dass keine Short-Open-Tags genutzt werden dürfen
  • wie man Namespaces zu verwenden hat
  • wie das Dateisystem / die Ordnerstruktur auszusehen hat
  • wie Methoden und Attribute benannt werden dürfen

und vieles mehr. Aus meiner Sicht sollte sich jeder Entwickler einmal diese Standards durchlesen. Natürlich hat man sich eventuell über Jahre schon seine Ticks angesammelt und es fällt schwer sich umzugewöhnen. Das macht aber in jedem Fall Sinn. Immerhin folgt jedes größere Framework diesem Standard und somit fällt es auch viel einfacher, sich in bestehende Frameworks einzulesen und zu orientieren.

Was aber noch viel wichtiger ist: Andere Menschen sind nicht genervt von eurem Code. Dank phpStorm und anderen Tools ist es zwar nur eine Tastenkombination, welche mich vom einhalten des Codingstandards trennt, aber spätestens wenn jemand an eurem GitHub-Projekt mitarbeiten möchte, wird hier jemand entweder genervt sein, oder aber ein riesen Commit mit der Message „Reformat Code“ pushen.

Der PSR ist dabei in mehrere Teile gegliedert:

Also, nicht länger drücken, sondern lesen und anwenden. Und vergrabt eure bisherigen Erfindungen. Bitte.

Über

Jahrgang 87, gelernter Softwareentwickler und fast ein Jahrzehnt Erfahrung im Bereich Web-Entwicklung mit PHP und Web-Design. Diese Eigenschaften machen mich zu einem geeigneten und geschätzten Ansprechpartner für die Umsetzung Ihres Projektes. Weiterhin bin ich seit Ende 2013 Magento Certified Developer.