Clean Code

Was haben Softwareentwicklung und Efeu gemeinsam?

Wird bei der Softwareentwicklung nicht aufgepasst, wuchert der Code schnell wie Efeu. Am Ende hilft dann nur noch ein totaler Rückschnitt. Gerne helfen wir Ihnen, damit dies bei der Softwareentwicklung Ihres digitalen Produkts nicht passiert.

Softwareentwicklung verhält sich oft wie Efeu

Bei der kürzlichen Gartenarbeit bin ich endlich auch mal wieder dazugekommen, den Efeu am „Tonnenhäuschen“ zu schneiden. Also nicht, dass ich den Betonklotz, der sich darunter befindet, schön finde, aber der Efeu wucherte doch schon wieder extrem stark. Efeu wächst im optimalen Fall über zwei Meter im Jahr. Auch hatte er sich bereits seinen Weg in Richtung Nachbarsgrundstück gesucht. Ein weiterer Grund, den Efeu zu pflegen.

Beim Schneiden hatte ich nicht nur damit zu kämpfen, zu erkennen, was ich denn als Nächstes wegschneiden sollte, sondern auch damit, dass die bereits abgeschnittenen Stränge schwer zu entfernen waren. Das Ganze erinnerte mich dann doch stark an viele der Softwareprojekte, die ich bisher gesehen habe. Auch dort war alles sehr stark verwoben und etwas zu verändern oder gar zu entfernen war nur schwer möglich.

Interessant dabei finde ich den Aspekt, dass jede Efeu-Pflanze als kleines Pflänzlein anfängt und sich dann stets weiter ausbreitet und ineinander „verrenkt“ – eine Analogie zur Softwareentwicklung: Auch Softwareprojekte fangen immer klein an. Zu Beginn ist es eine Klasse mit wenigen Methoden und kurz darauf sind es bereits mehrere miteinander „verrenkte“ Klassen mit noch mehr Methoden… Dies ist aus meiner Sicht auch unabhängig von der Projektgröße. Sicherlich läuft die Softwareentwicklung manchmal koordinierter, aber irgendwann wachsen die Codezeilen dann doch oft unkontrolliert vor sich hin. Deshalb ist es wichtig auch den Quellcode ständig zu pflegen (=refaktorisieren). Wie Efeu eben.

Anmerkung: Bei diesem Text handelt es sich um einen überarbeiteten Repost eines alten Blog-Artikels aus 2015 von mir. Der Efeu muss natürlich regelmäßig gepflegt werden.