7 einfache Tipps zur Verbesserung von Code-Qualität
PHP ist dafür bekannt, dass es kaum Anwendungen mit qualitativ hochwertigen Code gibt. Dabei gibt es viele Tools, die dabei helfen mit relativ wenig Aufwand die Code-Qualität enorm zu steigern. Die 7 einfachsten – und meiner Meinung nach auch wichtigsten – Tipps zur Steigerung von Code-Qualität habe ich hier einmal zusammengestellt.
Auch wenn diese Tipps speziell für PHP zugeschnitten sind, kann man fast alle Tipps auch für andere Programmiersprachen anwenden.
- Versionskontrolle verwenden
Tools wie Subversion oder Git helfen das Versions-Wirr-Warr bei Anwendungen besser verwalten zu können. Und wenn Fehler auftreten, lässt sich schnell eine alte Version zurückholen, oder ein Patch erstellen, der anderen Entwicklern zur Verfügung gestellt werden kann.
http://subversion.tigris.org/
http://git-scm.com/ - Unit-Tests schreiben
Wenn man ein neue Anwendung entwickelt, dann sollte man direkt zu Beginn Unit-Tests für jede Komponente schreiben. Das spart extrem viel Zeit, wenn die Anwendung zu einem späteren Zeitpunkt erweitert oder geändert wird und nochmal getestet werden muss.
http://www.phpunit.de/
http://www.junit.org/ - Profiling
Ab und zu macht es Sinn einmal ein komplettes Profil der Anwendung generieren zu lassen. Dabei werden alle Funktionsaufrufe aufgenommen, die Zeit festgehalten und anschließend geguckt an welchen Stellen die Anwendung zu langsam ist oder sich die Anzahl der Funktionsaufrufe optimieren lässt. Das ist ein wichtiger Faktor für die Performance-Optimierung der Anwendung.
http://www.xdebug.org/ - Kommentare
Der komplette Code sollte immer mit einheitlichen Kommentarblöcken versehen werden, die Klassen, Funktionen oder Interfaces genauer beschreiben. Das hilft nicht nur dabei eine technische Dokumentation des Codes generieren zu lassen, sondern kann auch von einigen IDEs gelesen werden und unterstützt somit die Autovervollständigung bei der Entwicklung.
http://www.phpdoc.org/
http://www.stack.nl/~dimitri/doxygen/index.html - Einheitlicher Code (Coding Standards)
Der Code sollte immer einem einheitlich Coding Standard folgen. Das heißt gleiche Abstände, Einrückungen, Anführungszeichen, Namenskonventionen oder Zeilenumbrüche. Dadurch lässt sich der Code von jedem Entwickler leichter lesen.
Manchmal gibt es auch Tools, die den Code untersuchen und anschließend überprüfen ob die vorher definierten Standards tatsächlich überall eingehalten wurden.
http://pear.php.net/package/PHP_CodeSniffer - Doppelter Code
Manchmal findet man Code-Fragmente, die sich bis auf wenige Parameter gleichen, oder die selbe Aufgabe haben. Hier sollte man unbedingt überprüfen, ob sich diese Fragmente nicht ausgelagern lassen in eine eigene Klasse oder Methode. Auch dazu gibt es wieder Tools, die solche Stellen im Code automatisiert finden können.
https://github.com/sebastianbergmann/phpcpd - Code-Trennung
Dieser Punkt ist besonders bei Webanwendungen wichtig: Der Code von verschiedenen Sprachen sollte immer getrennt in eigenen Dateien liegen. JavaScript-Code und CSS-Anweisungen haben nichts im HTML-Quellcode zu suchen. Und bei PHP-Templates z.B. sollte darauf geachtet werden, dass diese möglichst wenig Programmlogik enthalten. Wer mag, kann auch eine Template-Engine verwenden.
Wer sich an diese Tipps hält, hat schonmal ein solides Grundgerüst für eine hohe Code-Qualität in seiner Anwendung.
Bilder für das Web optimieren
Und wieder einmal geht es um Performance im Web. Diesmal werden Bilder optimiert.
Aber wie optimiert man Bilder für das Web ohne großen Qualitätsverlust? Man könnte natürlich Photoshop nehmen und jedes einzelne Bild auf einer Webseite nacheinander bearbeiten, aber das ist sehr mühsam. Und da wir alle faul sind, gibt es natürlich auch einen einfacheren Weg (und auch günstiger, weil man kein Photoshop kaufen muss). Dazu brauchen wir lediglich einen aktuellen Firefox und zwei Plugins.
Plugin #1: Firebug
Den sollte jeder Webentwickler standardmäßig installiert haben.
Plugin #2: Page Speed
Dieses Plugin ist noch nicht so bekannt, der Herausgeber daüfr umso mehr. Das ist nämlich Google und die haben in dem Plugin viele Tipps zur Performance-Optimierung verbaut. Es wird die komplette Seite überprüft und anschließend aufgelistet was man noch alles verbessern kann. Unter anderem gibt es dort einen Punkt zum optimieren von Bildern. Dort gibt es eine Liste mit allen schwach komprimierten Bildern auf der Webseite.
Und das beste ist: Das Plugin bietet eine optimierte Version direkt zum Speichern an. Also die komprimierten Bilder abspeichern und mit die alten ersetzen. Fertig.
Die anderen Optimierungsvorschläge sollte man sich natürlich auch mal ansehen.
Mir gefällt das Google-Plugin übrigens besser als das vom Konkurrenten Yahoo (YSlow), weil die Anweisungen viel verständlicher sind und übersichtlicher dargestellt werden.
Zend Framework > Performance > Zend_Cache > Konfiguration
Das Zend Framework ist dafür bekannt ziemlich viel Performance zu verschlucken. Ist auch kein Wunder bei so viel Objektorientierung…
Damit man sich ein wenig von der Performance wiederholen kann, gibt es einige Standard-Cache-Funktionen, die ziemlich einfach ohne großen Aufwand einzubauen sind. Standardmäßig können die Module Zend_Locale, Zend_Translate und Zend_Db_Table den Cache nutzen. Wie man die Anwendung entsprechend konfiguiert, wird in diesem kleinen How-To erklärt.
Beachte: Dies ist lediglich eine Standard-Konfiguration für das Caching mit normalen Dateien (File-Backend).
