cts projects and software logo

Refactoring von PHP-Applikationen

PHP hat sich entwickelt: Von der einfachen Applikation zum Handling von Webseiten zur universalen, objektorientierten Programmiersprache für das Web. Viele der Standardapplikationen auf Webservern, wie z.B. Gästebücher, Foren oder E-Commerce-Applikationen werden in PHP entwickelt und auch in Hochlastsituationen eingesetzt.

Die Entwicklung, die PHP genommen hat, schlägt sich natürlich auch im Quellcode der in PHP erstellen Applikationen nieder. Der unstrukturierte, prozedurale Ansatz ist spätestens in PHP 5 einer objektorientierten Sicht der Dinge gewichen, welche eine Pflege und Erweiterung von Applikationen deutlich vereinfacht.

Was ist Refactoring und was sind die Vorteile?

Stehen Sie vor dem Problem, dass bei Ihnen selbst einfache Änderungen Ihrer PHP-Applikationen nur schwer umsetzen sind? Die Änderungen zu Fehlern und zu ungewollten Fehlfunktionen führen können?

Dann kann Ihnen Refactoring helfen. Refactoring beschreibt die Umstrukturierung von Software, ohne Ihr Verhalten zu ändern, indem man standardisierte Änderungen auf den Quellcode anwendet.

Für Sie ergeben sich folgende Vorteile:

  • Verbesserung des Software-Designs
    Refactoring hilft, dass der Quellcode in Form bleibt und nicht durch notwendige Änderungen seine Struktur verliert. Generell hat ein refaktoriertes Programm weniger Quellcode-Zeilen, da die Duplizität von Code vermieden wird. Jede Zeile Quellcode bedeutet weniger Fehler und bessere Wartbarkeit.
  • Verständlicherer Quellcode
    Programme wrden besser verständlich. Stellen Sie sich vor, dass ein Entwickler einen Programmteil ändern muss, den ein anderer Entwickler vor Jahren geschrieben hat. Hier kann ein Verständnis dessen, was intern im Programm passiert, ausschlaggebend dafür sein, ob eine Änderung nur Stunden oder doch Tage dauert.
  • Finden und Beheben von Fehlern
    Refactorisieren bedeutet, dass man sich mit dem Sinn und der Struktur des Quellcodes vertraut macht. Auf diese Weise kann man während des Refactorisierungsprozesses Fehler finden und diese beseitigen.
  • Schneller Software-Entwicklung
    Der maßgebliche Punkt von allen ist, das Ihre Software schneller weiterentwickelt werden kann.

Schwachstellen, die Refaktorisierung benötigen

Im Folgenden möchten wir kurz die Schwachstellen im Quellcode darlegen, die in der objektorientierten (PHP-)Entwicklung immer wieder auftreten und zu Problemen führen können:

  • Duplizierter Code
    Gleiche / Gleichartige Methoden und Funktionen, die an mehreren Stellen im Programm gepflegt werden müssen
  • Lange Methoden und Funktionen / Große Klassen
    Je länger Funktionen sind, desto häufiger treten Fehler auf und je geringer ist die Wartbarkeit
  • Lange Parameterlisten
    Lange Parameterlisten beim Aufruf von Funktionen sind schwer zu handhaben und hoch fehleranfällig
  • Unoptimierte Klassendefinitionen
    • Nicht gekapselte Klassen, die Ihre Eigenschaften unbeschränkt offen legen
    • Klassen, die zu oft mit Methoden und Eigenschaften anderer Klassen arbeiten
    • Falsche und zu tiefe Vererbungshierarchien
    • Zu große Abhängigkeit zwischen Objekten
    • Unvollständige Bibliotheksvariablen
    • ...
  • Falsche Verwendung von Kommentaren im Quellcode
  • Falsche und/oder unzureichende Benennung von Methoden und Eigenschaften
    Klingt simpel, aber richtige Benennung kann viele Verständnisprobleme vermeiden und Kommentare überflüssig machen.
  • Unzureichende Nutzung der objektorientierten Design-Elemente
    • Keine Nutzung von standardisierten Entwurfsmustern
    • Trend zu elementaren Datentypen anstelle von Objekten zur Speicherung von Daten
    • Keine Verwendung von Polymorphie, sondern Verwendung von "switch"-Verzweigungen

Wann und wie setzt cts projects&software Refactoring ein?

Refactoring ist kein Selbstzweck und sollte sinnvollerweise eingesetzt werden, wenn sowieso Änderungen am Quellcode Ihrer Applikation vorgenommen werden. Aus unserem Dienstleistungsangebot bieten sich hier die Migration von PHP3/4-Anwendungen in die moderne PHP5-Welt und die Weiterentwicklung Ihrer PHP-Applikationen an. Sollten Sie es wünschen, so führen wir im Rahmen der genannten Aufgaben gerne das Refactoring für Sie durch.

Sollten Sie Fragen zum Refactoring oder ein konkretes Projekt vor Augen haben, so senden Sie uns gerne ein kurze Nachricht.

Impressum | Datenschutz-Erklärung | AGB | Kontaktformular | ©2008-2011 cts projects&software