Wer sich in ein neues Fachgebiet einarbeitet, hat es leichter mit einer Referenz, an der er sich orientieren kann. Für Kampfkunst und Meditation reicht oft schon die Lektüre der Bücher und Gespräche des 1973 verstorbenen Bruce Lee.
Programmierkenntnisse auf seinem Niveau erreicht dieser Beitrag nicht. Zwei Prinzipien aus der Softwareentwicklung helfen aber dabei, den eigenen Lernprozess zu steuern, und beide haben einen Namen: YAGNI und Clean Code.
Programmieren Sie mit Blick auf das Jetzt
Wer ein Projekt übernimmt, programmiert am besten nur das, was gerade gebraucht wird, nicht das, was in einem halben Jahr vielleicht nötig sein könnte. Dieses Prinzip heißt in der Softwareentwicklung YAGNI, kurz für "You Aren't Gonna Need It". Es stammt aus der in den 1990er-Jahren entstandenen Methodik Extreme Programming, deren Mitbegründer Ron Jeffries es auf die Formel brachte, Funktionen erst dann zu bauen, wenn sie tatsächlich gebraucht werden, statt weil man sie irgendwann brauchen könnte.
Der Grund dafür ist einfach: Fast jedes Projekt wird nach dem eigenen Abschnitt weitergeführt, und andere Entwickler bauen Funktionen aus oder um. Wer beim Programmieren schon Funktionen für mögliche zukünftige Anforderungen einbaut, häuft Code an, den am Ende niemand braucht, dafür aber jeder mitpflegen muss. Das ist einer der häufigsten Auslöser für Scope Creep, das schleichende Anwachsen der Projektanforderungen über die ursprüngliche Absprache hinaus. Wer stattdessen nur umsetzt, was Kunden oder Projektverantwortliche tatsächlich beauftragt haben, hält das Projekt im vereinbarten Rahmen.
Lesbarer Code
Unter guten Programmierern ist die Versuchung groß, sich mit besonders kompaktem oder cleverem Code hervorzutun. Genau solcher Code ist aber oft schwer zu lesen, etwa wenn eine einzelne Zeile mehrere Funktionsaufrufe und Teile der Logik gleichzeitig bündelt.
Der Softwareentwickler Robert C. Martin hat diesen Grundsatz in seinem 2008 erschienenen Buch "Clean Code" zusammengefasst: Code gilt als sauber, wenn ihn ein anderer Entwickler versteht und erweitern kann, ohne den ursprünglichen Autor fragen zu müssen. Wer seinen Code so schreibt, dass zukünftige Entwickler auf den ersten Blick erkennen, was er tut und warum, erspart dem ganzen Team spätere Rückfragen.
Wer diese beiden Prinzipien, YAGNI und lesbaren Code, von Anfang an mitdenkt, baut Software, die sich leichter warten und weitergeben lässt.
Häufig gestellte Fragen
Was bedeutet das Programmierprinzip YAGNI?
YAGNI steht für "You Aren't Gonna Need It" und besagt, dass eine Funktion erst dann programmiert werden sollte, wenn sie tatsächlich gebraucht wird, nicht weil sie irgendwann nützlich sein könnte. Das Prinzip stammt aus der Softwaremethodik Extreme Programming der 1990er-Jahre, deren Mitbegründer Ron Jeffries es geprägt hat.
Wer hat das Buch Clean Code geschrieben?
Clean Code: A Handbook of Agile Software Craftsmanship stammt vom Softwareentwickler Robert C. Martin und erschien 2008 bei Prentice Hall. Das Buch beschreibt, woran sich lesbarer, wartbarer Code erkennen lässt, etwa an aussagekräftigen Namen, kleinen Funktionen und einer einzigen Verantwortung je Funktion.
Was ist Scope Creep in der Softwareentwicklung?
Scope Creep bezeichnet das unkontrollierte Anwachsen der Projektanforderungen, nachdem ein Projekt bereits begonnen hat. Werden während der Umsetzung immer neue Funktionen ergänzt, die ursprünglich nicht vereinbart waren, wachsen Aufwand und Zeitplan über den vereinbarten Rahmen hinaus, ohne dass Budget oder Frist entsprechend angepasst werden.
Warum ist lesbarer Code wichtiger als besonders kurzer Code?
Lesbarer Code ist wichtiger, weil an einem Softwareprojekt in der Regel mehrere Entwickler über einen längeren Zeitraum arbeiten. Besonders knapper oder cleverer Code mag im Moment des Schreibens elegant wirken, kostet aber jeden, der ihn später liest oder ändert, zusätzliche Zeit, um die Logik zu entschlüsseln.
