Einfache Lösungen für komplexe Probleme finden

Während meines Mathematik-Studiums gab es unter den Besten des Jahrgangs eine Art ständigen mehr oder weniger offenen oder versteckten Wettbewerb. Dabei ging es nicht darum, irgendeine Lösung zu finden, sondern es ging darum, die eleganteste Lösung zu finden.

Was jetzt für Außenstehende sicher etwas versponnen klingt, hat aber einen ganz praktischen Hintergrund: Die eleganteste Lösung ist vor allem sehr einfach. Und es ist schon ein Unterschied, ob man für einen mathematischen Beweis ein paar DIN-A-4-Seiten vollschreibt oder lediglich 5 Zeilen.

Beim Programmieren ist es das Gleiche: Es gibt für alles immer auch eine Lösung, die sehr viel einfacher ist, als die Lösungen die entstehen, wenn man sofort drauflos programmiert.

Und es lohnt sich absolut, vor der ersten Programmzeile noch einmal nachzudenken, weil beim Programmieren die Vorteile der einfachen Lösungen sehr handfester Art sind.

Einfache Lösungen sind

  • weniger fehleranfällig
  • einfacher zu ändern und zu erweitern
  • auch Jahre später noch einfacher zu verstehen
  • Sie treffen meistens auch die Anforderungen genauer.
  • Es braucht weniger Zeit, sie zu programmieren (dafür aber vorher ein bisschen mehr nachdenken).

Man könnte sagen, die einfachen Lösungen sind ein Hobby von mir. Ich habe es schon mein ganzes Entwickler-Leben lang kultiviert, diese Lösungen zu finden. Und es ist irgendwie immer auch ein magischer Moment, wenn einem diese Lösungen einfallen. Plötzlich geht eine Sache ganz einfach, die Sekunden vorher noch ziemlich mühsam erschien.