Refactoring: Code optimieren - Teil 2

In Zusammenhang mit der Optimierung von Code ist besonders in der objektorientierten Welt oft von Refactoring die Rede. Dabei handelt es sich um eine Technik, bei der man bestehenden und vor allem funktionierenden Code Änderungen unterzieht, um ihn in puncto Verständlichkeit und Änderbarkeit zu optimieren, ohne sein Verhalten zu beeinflussen.

Die wichtigsten beiden Voraussetzungen für Refactoring sind:

  • Das Refactoring ändert nicht die sichtbare Wirkung des betroffenen Codes, sondern nur den Code selbst. Das Ziel von Refactoring ist nicht etwa die Optimierung der Performance oder Ähnliches – es verbessert nur die Struktur des Codes im Hinblick auf die Lesbarkeit und Wartbarkeit des Codes.

  • Jedes Refactoring wird durch Tests abgesichert. Das heißt, wenn Sie beispielsweise eine Funktion durch ein Refactoring ändern möchten, dann sollten Sie automatische Tests bereitstellen, die vor dem Refactoring die einwandfreie Funktion des Codes belegen und die dies auch im Anschluss an die Änderung tun. Wie Sie das Refactoring durch Test absichern können, lesen Sie im Schwerpunktartikel dieser Ausgabe.

Letzteres impliziert, dass Sie nur lauffähigen Code einem Refactoring unterziehen – andernfalls haben Sie ja nicht die Möglichkeit, vor und nach dem Refactoring zu prüfen, ob der Code wie gewünscht funktioniert.

In den folgenden Abschnitten lernen Sie einige häufig vorkommende Refactorings kennen, das bedeutet, dass es eine bestimmte Konstellation im Quellcode gibt, die man mit einer festgelegten Vorgehensweise in eine meist günstigere Variante umwandeln kann.