Select Page

Code Qualität in PHP

by | May 27, 2011 | Development

Gleichartiger Code ist gerade in größeren Projekten wichtig um den Überblick nicht zu verlieren. Man findet schneller Fehler und vermeidet anderen Programmieren seinen eigenen Stil aufzudrücken. Anstatt riesige Bücher mit Code Conventions zu verfassen lässt sich PHP, JS oder CSS Code einfach mit dem Paket PHP_CodeSniffer überprüfen.
Out of the box kommt das Programm mit Code Conventions einiger namhafter Hackergilden daher z. B.  PEAR, Zend oder Squiz.
Mit dem PHP Repository PEAR ist der CodeSniffer schnell installiert:

pear install PHP_CodeSniffer

Danach kann man sofort seine Dateien überprüfen:

$ phpcs --standard=zend  testCLass.class.php
FILE: /tmp/testClass.class.php
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 2 LINE(S)
--------------------------------------------------------------------------------
  6 | ERROR | Spaces must be used to indent lines; tabs are not allowed
  6 | ERROR | Opening brace indented incorrectly; expected 8 spaces, found 1
 11 | ERROR | Spaces must be used to indent lines; tabs are not allowed
 11 | ERROR | Opening brace indented incorrectly; expected 8 spaces, found 1
--------------------------------------------------------------------------------
Time: 0 seconds, Memory: 3.25Mb

Interessant ist vor allem das Erstellen von eigenen Standards welches durch ein “preset” an Regeln schnell von der Hand geht. Fehlt einem einige wichtige Funktion kann man sie als PHP Klasse nachimplementieren.
Man sollte den Aufwand nicht scheuen den Code Quality Test zu automatisieren und ihn entweder in seine Unit Tests oder in einen Build Server verbauen. Denkbar wäre z.B. auch ein Hook in der Versionsverwaltung. Nur so erhält der Programmierer zeitnah Rückmeldung über Mängel. So bleibt ein Projekt von Beginn an sauber.

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic Development

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen...