Refactoring mit der Axt

Ein wichtiges Konzept bei der Entwicklung von Software ist das Refactoring. Der Quellcode wird untersucht und umstrukturiert. Ziel ist es zu vereinfachen, zusammenzufassen und zu abstrahieren. Die Idee ist es nicht, die Komplexität der Software zu erhöhen. Im Gegenteil! Durch gekonntes Refactoring oder Restruturieren wird die Komplexität auf Dauer sogar gesenkt. Die Wiederholung ähnlicher Logik wird entfernt, zu lange Funktionen und Methoden werden aufgeteilt und die Wartbarkeit erhöht. Wir stellen das Konzept Refactoring in diesem Artikel vor.

Inhalte als Einsteiger nicht überbewerten

Wir sind uns bewusst, dass sich unsere Seite eher an unerfahrene Entwickler richtet. Wir wägen daher ab, ob ein Thema oder Buzzword zu Beginn relevant ist. Wir möchten niemanden mit den Inhalten abschrecken. Oder den Eindruck erwecken, dass Software Entwicklung absolut komplex ist. Wenn man häufig über neue Themen liest, kann dies schnell überwältigend wirken.

Es muss auch nicht jedes Thema zu Beginn aufgegriffen werden. Zu geläufigen Buzzwords eine Erklärung zu lesen schadet aber nicht. Wenn man ihm begegnet, weiß man, wo eine Erklärung zu finden ist. interessant ist das eine oder andere Konzept zudem bereits für Einsteiger. So ist es im Fall vom Refactoring.

Refactoring von Anfang an

Das Wort Refactoring bezeichnet nur den Vorgang, ein vorhandenes Stück Software zu überarbeiten. Der Code wird ggf. umstrukturiert, vereinfacht und Wiederholungen entfernt. Der Schritt gehört zur täglichen Arbeit eines Programmierers. Ist das auch für Anfänger relevant?

Ja, unbedingt! Einsteiger lernen Schritt für Schritt Konzepte kennen. Arbeitet man sich vor, lernt man mehr. Man entwickelt sich, erweitert seinen eigenen Horizont. Wer sich dann Software erneut anschaut, egal ob eigener oder fremder Quellcode, findet quasi immer Wege zur Optimierung. Das gilt auch für Übungsaufgaben und eigene »Lernprojekte«.

Refactoring als Lernprozess

In verschiedener Hinsicht ist Refactoring ein toller Weg, um zu lernen! Wer zum Beispiel eine Funktion oder Methode unterteilt, produziert dabei automatisch Fehler. Die gilt es zu lösen. Die Änderungen dürfen zudem das Verhalten der Software nicht beeinflussen. Gleichzeitig schärft Praxis im Refactoring auf Dauer das Gespür für das Vereinfachen von Code. Das wirkt sich automatisch bereits auf den Entwurf aus. Zusammengefasst erhöht sich durch Rectoring von Beginn an die praktische Erfahrung. Und somit ist es eine gute Übung, die gleichzeitig auch Spaß macht.

Wer mag, kann auch fremden Quellcode optimieren. Im Opensource Bereich bieten sich viele Möglichkeiten. Die Projekte findet man bei Github. Suchen und los geht’s! Der Vorteil: Es gibt zu der Umstrukturierung Feedback. Das kann positiv sein, oder es gibt eine Erklärung, warum die Idee vielleicht nicht so gut war. Das ist zum Lernen wertvoller als ein Kompliment.

Fazit

Refactoring ist kein Konzept für »später einmal«, sollte gleich von Anfang an mit zur Routine werden. Ist eine Software oder ein Modul »fertig«, sollte es gleich geprüft und überarbeitet werden. Der Lerneffekt beim Refactoring ist zudem nicht zu unterschätzen, da man Erfahrung vor allem durch das Lösen von Fehlern erlangt.

Schreib einen Kommentar

Your email address will not be published.