Rezension: Softwarequalität in PHP Projekten

Auch wenn bei dem im Titel genannten Buch auf dem Cover nur die beiden Autoren Sebastian Bergmann und Stefan Priebsch gelistet sind, bedeutet dies nur einen Vorgeschmack auf das enthaltene Fachwissen. Daher ist es auch schwierig, dieses Buch als Einheit zu rezensieren. Denn es enthält insgesamt 17 Autoren(gruppen), die verschiedene Aspekte von Softwarequalität und -entwicklung behandeln.

In dieser Rezension will ich die meiner Meinung nach relevantesten hiervon auflisten.

Testen von Legacy Code
von Sebastian Bergmann und Stefan Priebsch

In zwei einführenden Kapiteln wird zunächst definiert, was Softwarequalität und technische Schulden sind sowie welche Arten von Tests in der Praxis verwendet werden. Im Anschluß wird ein Szenario angeführt, das jedem Entwickler vertraut sein dürfte: Das Warten von bereits existentem Fremdcode.
Als Beispiel wird eine fiktive Webanwendung heran gezogen, die refaktorisiert werden soll. So werden schrittweise Abhängigen entkoppelt und mit Unit Tests versehen. Auf diese Weise entsteht übersichtlicher Code, von dem man sicher gehen kann, dass er auch das tut, was man erwartet.

Dieses Kapitel war für mich persönlich spannend, da auch ich in meiner Tätigkeit bei der heco gmbh mit bereits existierendem Code befassen musste. Dazu später mehr.

Kontinuierliche Integration
von Manuel Pilcher und Sebastian Nohn

Nach dem Erfolg dynamischer Testverfahren haben in den letzten Jahren auch die kontinuierliche Integration und statische Testverfahren ihren Siegeszug in der PHP-Welt angetreten. Kontinuierliche Integration führt hierbei nach jeder Änderung an der Software alle ihre Teile nach Abschluss sämtlicher Tests zu einer Gesamtsoftware zusammen, die ausgeliefert werden kann.
In diesem Kapitel gehen die beiden Autoren detailliert auf die einzelnen Abschnitte einer kontiniuerlichen Integration ein. Darüber hinaus werden Software Metriken genauer beleuchtet. Abschließend wird der Aufbau eines CI-Systems basierend auf CruiseControl, phpUnderControl sowie eines Versionskontrollsystems beschrieben.

Lehrreich für mich an diesem Kapitel waren die vielzählig vorgestellten Werkzeuge, die ein permanentes Testen und Ausliefern von Software ermöglichen; bpsw. das oben genannte phpUnderControl, PHP_Depend oder der PHP_CodeSniffer.

TYPO3: Die agile Zukunft eines schwergewichtigen Projektes
von Robert Lemke und Karsten Dambekalns

Da unsere Firma ebenfalls TYPO3 im Einsatz hat, fiel mir dieses Kapitel auf. Leider gehen die beiden Autoren hauptsächlich auf die Entwicklung von TYPO3 v5 und FLOW3 ein, während die heco gmbh auf TYPO3 v4 setzt.
Dennoch erhielt ich in diesem Kapitel einen gerafften Abriss über die Geschichte dieses CMS sowie die Ansätze, die für die Entwicklung von v5 gewählt wurden. Auch hier kamen testgetriebene Entwicklung, kontinuierliche Integration, agile Vorgehensweise sowie Clean Code Prinzipien zum Einsatz, womit dieses Kapitel immer noch sehr informativ ausfiel.

Besonders lehrreich fand ich den Abschnitt „Testrezepte“, der sich mit typischen Problemfällen beim Schreiben von Tests befasst.

 

Mein Anliegen, mich in dieser Rezension auf diese Kapitel zu fokussieren, ist simpel: Meine Arbeit bei der heco gmbh begann genau so. Ich sollte die bereits existierende Website übernehmen und weiterentwickeln. Auch hier waren noch keine Tests vorhanden und mussten erst schrittweise eingeführt werden. Es gab noch kein CI- System, die Software wurde direkt auf dem Testserver geschrieben.
Davon sind wir inzwischen weit entfernt. Wir setzen auf TeamCity und git, bei jedem Einchecken von Änderungen werden sämtliche Tests durchlaufen, und nur im Erfolgsfall wird die neue Software veröffentlicht.

Fazit

Diese Rezension mag etwas langatmiger erscheinen, dennoch kratzt sie nur an der Oberfläche des in diesem Buch enthaltenen Wissens. Neben den beiden Hauptautoren kommen viele Größen aus der PHP- Welt zu Wort. Auch wenn der Schwerpunkt des Buches auf Tests liegt, werden sämtliche Methoden der modernen Softwareentwicklung vorgestellt. Kontinuierliche Integration, Performanz, Sicherheit sowie testgetriebene Entwicklung sind ebenso Inhalt dieser Literatur. Abgerundet wird der Inhalt durch Fallstudien wie beisielsweise die Evolution bei swoodoo.

Darüber hinaus fand ich persönlich die Vielzahl an vorgestellten Werkzeugen besonders interessant und hilfreich. Aus all diesen Gründen gehört für mich dieses Buch in den Bücherschrank eines jeden guten PHP Programmierers.

Verfasser: Martin Edelmann

Advertisements

Über hecogmbh

Die heco gmbh ist ein Handelshaus sowie ein Produzent für Fittings und Armaturen aus rostfreiem Edelstahl. Unsere Produkte werden im Maschinen-, Anlagen- und Fahrzeugbau sowohl in der chemischen Industrie als auch in der Nahrungsmittelindustrie eingesetzt. Mit mehreren Standorten europaweit sind wir immer in Ihrer Nähe.
Dieser Beitrag wurde unter Martin Edelmann abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s