Traditionelle Code-Optimierung transformiert Code sodass er am Ende schneller abläuft oder weniger Ressourcen benötigt. Die wenigsten Entwickler optimieren noch viel von Hand, moderne Compiler übernehmen inzwischen den Großteil der Optimierungen.

Aber Optimierung geht auch anders – auf Wartbarkeit und Lesbarkeit. Umgangssprachlich nennt sich das dann Refactoring. Leider können wir solche Optimierungen nicht dem Compiler überlassen. Aber wir können uns vom Compiler abschauen, wie er optimiert und Techniken von optimierenden Compilern auf unser Refactoring übertragen.

Der Vortrag behandelt kurz die Grundlagen funktionaler Compiler-Zwischensprachen, z. B.:

  • Freistellen von Seiteneffekten
  • Transformation von Kontrollstrukturen in funktionale Einheiten
  • Neu-Gliederung des Codes

Diese Optimierungen übertragen wir dann auf Refactoring-Techniken und demonstrieren sie an einem Beispiel von Java-Code (die generelle Technik ist jedoch unabhängig von der Programmiersprache).

Stefan Mandel andrena objects ag

Stefan arbeitet als agiler Fullstack-Software-Entwickler bei andrena objects ag mit Schwerpunkt bei Clean Code und Automatisierten Tests. Abseits der alltäglichen Arbeit entwickelt er verschiedene Bibliotheken, die sich mit Compilerbau und Metaprogrammierung befassen.