Über das Refactoring

Ich habe nun fast zwei Jahrzehnte lang mit dem Programmieren mein Geld verdient. Programmieren war und ist für mich schon immer mehr als ein Beruf gewesen. Es war eine Weise, kreativ zu werden. Es war eine Möglichkeit, sich ständig zu üben, sich weiter zu bilden, und auch Experimente zu machen.

Aber dann und wann halte ich dennoch inne und bekomme Zweifel …

Bei privaten Projekten konnte ich tun und lassen, was ich wollte. Es redete mir keiner drein. Nicht zuletzt deshalb habe ich gerne und viel privat programmiert. pet projects waren mein Ding. Da gab es keine Verpflichtungen und keine Meilensteine. Wenn etwas nicht gelang, konnte ich es einfach beiseite legen und noch einmal von vorne anfangen.

Im Rückblick muss ich sagen: Vielleicht misslang zu viel … um das dann sofort zu korrigieren … Womöglich habe ich oft zu spät das Misslingen eingesehen

Oft wäre schon viel früher der Zeitpunkt gewesen, ein Misslingen einfach einzusehen und noch einmal von Neuem zu beginnen. Klar, je länger man an etwas gearbeitet hat, desto schwerer fällt es, das alles in den Mülleimer zu legen und einen Neuanfang zu wagen. Also quält man sich mit dem Bestehenden ab. Das Bestehende wird immer schwerfälliger und schwerfälliger.

Es gibt in der Programmierer-Welt viele dicke Bücher zu diesem Thema. Das Oberthema heißt Refactoring: Umgestalten, neu machen, verschlanken, verbessern – und eben auch wegwerfen.

Es ist also kein Thema, das nur für meine pet projects relevant ist. Wie oft habe ich in Projekten, für die ich beruflich gearbeitet habe. genau das erlebt: Über Jahre hinweg wurde von einem ganzen Team von Programmierern an einer Sache gearbeitet, die immer nur mit Ach und Krach funktionierte. Jeder Programmierer kennt das. Jeder Programmierer kennt die Situation, dass (meist aus finanziellen oder zeitlichen Gründen) das “Neu-Machen” keine Option ist. Jeder hat längst erkannt, dass man auf einem Berg aus Altlasten sitzt. Aber keiner hält es für möglich, diesen Berg jemals ab zutragen. Es geht einfach nicht. Es ist zu viele. Außerdem funktioniert das Bestehende ja einigermaßen. Man ist sich also nicht sicher, ob ein neuer Versuch zu einer Besserung führen würde. Womöglich würde der neue Versuch sogar zu einer Katastrophe führen. Das Ergebnis könnte noch katastrophaler ausfallen. Oder aber – schlimmer noch – der neue Versuch könnte zu einer Destabilisierung führen. Man hätte also weniger als zuvor. Man könnte den Kunden nicht mehr mit derselben Zuverlässigkeit beliefern, oder man würde schlechtere Produkte herstellen, oder man könnte sogar eine Zeit lang überhaupt keine Produkte mehr herstellen. Eine veritable Katastrophe!

Also bleibt man aus all diesen guten Gründen auf dem sitzen, was man hat. Jede andere Entscheidung würde unter Umständen sogar dazu führen, dass “Köpfe rollen” würden. Das ist nicht im Interesse des Einzelnen. Es scheint ja auch nicht im Interesse des Ganzen zu sein.

KategorienIT

Schreiben Sie einen Kommentar