Artikel
development

PSR-2 oder wie Sie ein besserer Entwickler werden

Wie ein Coding-Standard Ihnen hilft, ein besserer Entwickler zu werden.

PSR-2 oder wie Sie ein besserer Entwickler werden

PSR-2 oder wie Sie ein besserer Entwickler werden

In der PHP-Welt war die Community in den Anfangsjahren beim Thema Coding-Standards alles andere als geschlossen. Manchen von uns fällt es schwer, sich auf einen gemeinsamen Coding-Standard einzulassen, und das sorgt beim Denken über Code eher für zusätzliche Reibung.
Besonders deutlich wird das zum Beispiel bei Code-Reviews, wo es im Entwicklungsteam schnell zu überflüssigen Diskussionen kommt.

Vorteile

Die PHP Standard Recommendations (PSR) sind die erste Anlaufstelle für jeden PHP-Entwickler. Aus meiner Erfahrung bringt die Einführung eines Coding-Standards wie PSR-2 eine ganze Reihe von Vorteilen. Hier die wichtigsten:

- Wartbarkeit der Software; das ist der zentrale und wichtigste Punkt. Wer recherchiert, stellt fest, dass 40 bis 80 Prozent der Gesamtkosten einer Software über ihre Lebensdauer auf die Wartung entfallen – und dass kaum eine Software während ihres gesamten Lebens vom ursprünglichen Autor gepflegt wird.

- Codequalität; Softwareentwicklung bedeutet, sehr viel Code zu lesen. Ob beim Schreiben oder beim Code-Review: Code wird gelesen, und das sollte sich nicht mühsam anfühlen – oder schöner gesagt: nicht lästig sein.

- Keep it simple; komplexe Codestrukturen stehen in den meisten Fällen im Widerspruch zur Sicherheit. Wer während der Projektentwicklung möglichst wenig Code schreibt, schreibt auch weniger (versteckte) Bugs.

- Refactoring; das Umbenennen einer Variablen oder Methode oder das Aufteilen von Code in kleinere Teile nennt man Refactoring. Ist der Code sauber und geordnet, geht das Refactoring leicht und reibungslos von der Hand.

- Sprache im Code; jeder Entwickler sollte Englisch können. Die Dokumentation zu Softwarekomponenten ist auf Englisch, und auch wer nach Ihnen am Code arbeitet, spricht Englisch. Aus all diesen Gründen hängt die Sprache im Code direkt mit der Wartbarkeit zusammen und verbessert die Lesbarkeit des Codes.

PSR-2-Konventionen

Die PSR-2-Konventionen ergeben zumindest für mich mit Blick auf die Codequalität insgesamt sehr viel Sinn.

Einrückung

Ich habe viele Artikel darüber gelesen, was besser ist: Tabs oder Leerzeichen. Bei PSR-2 ist die Sache aus meiner Sicht einfach: „Code MUSS mit 4 Leerzeichen eingerückt werden und DARF NICHT mit Tabs eingerückt werden.“

Properties

Entwickler wissen: Variablen zu benennen ist das Schwierigste überhaupt. Regeln wie „Property-Namen SOLLTEN NICHT mit einem einzelnen Unterstrich beginnen, um protected oder private Sichtbarkeit anzuzeigen.“ oder „Die Sichtbarkeit MUSS bei allen Properties deklariert werden.“ helfen dabei.

Closures

„Closures MÜSSEN mit einem Leerzeichen nach dem Schlüsselwort function sowie einem Leerzeichen vor und nach dem Schlüsselwort use deklariert werden.“ Alle Konventionen des PSR-2-Standards finden Sie unter diesem Link

Tools

Ein hervorragendes Tool, um die Prüfung von Coding-Standards zu automatisieren, ist PHP CodeSniffer. Installieren lässt es sich zum Beispiel so:

	apt install php-codesniffer

oder, wenn PEAR installiert ist:

	pear install PHP_CodeSniffer

Nach der Installation können Sie es zum Beispiel so in der Konsole verwenden:

	phpcs --standard=PSR2 src/

Alternativ richten Sie Ihre IDE so ein, dass sie den Coding-Standard mit phpcs automatisch prüft.

Werden Sie ein besserer PHP-Entwickler

Ein guter Entwickler sollte sich an einen Coding-Standard halten. Ich setze mich hier für PSR-2 ein, aber welchen Standard Sie verwenden, entscheiden Sie selbst. Wichtig ist, dass es einen gibt und dass er konsequent eingehalten wird.

Wenn Sie Unternehmer oder Projektverantwortlicher sind, sprechen Sie mit Ihren Entwicklern über Coding-Standards.
Wenn Sie Entwickler sind, führen Sie einen Coding-Standard ein.

Quelle1 Quelle2 Quelle3