Wie werde ich ein Clean-Coder?

Posted by in clean code

Seitdem ich vor zwei Wochen im roten Grad der Clean-Code-Developer gestartet bin und aktiv versuche diesen Grad tatsächlich zu meistern denke ich viel mehr darüber nach, was denn einen Clean-Coder von einem durchschnittlichen Softwareentwickler unterscheidet.

Beide produzieren Code der funktioniert, denn würde er das nicht, dann hätten sie beide keinen Job. Vielleicht halten sich beide an die Unternehmensvorgaben was Formatierung und Benamung von Klassen, Variablen und Methoden angeht und doch gibt es einen gewaltigen Unterschied, der mir erst jetzt so richtig klar geworden ist.

Ein Clean-Code Programmierer ist ein Künstler

Das ist eigentlich auch nicht verwunderlich, denn guter Code besticht durch Schönheit und Design in einem schlichten Sinn. Nicht nur durch Funktionalität. Man kann einen guten Vergleich mit Handwerksberufen ziehen.

Nehmen wir zum Beispiel an wir hätten zwei Stühle von unterschiedlichen Schreinern. Der eine wurde rein funktional gebaut, hat vier Beine, nur Naturholz ohne Glasur. Man setzt sich darauf und bemerkt sofort, dass er irgendwie unbequem ist, vielleicht kippelt er sogar. Recht viel länger als für ein Essen möchte man aber nicht sitzen, denn die Sitzfläche ist zu hart und da die Kanten nicht entgratet sind, hat man immer Angst sich einen Holzspieß unter die Haut zu rammen.

Auf der anderen Seite steht ein ebenso unscheinbarer Stuhl, der sich aber beim ersten Hinsetzen als äußerst bequem herausstellt. Die Lehne ist anatomisch so geformt, dass sie sich dem Rücken anpasst. Die Sitzfläche hat einen schönen Lederüberzug, der nicht zu weich und nicht zu hart ist. Außerdem sind alle Kanten abgerundet worden. Man könnte fast meinen man sitzt in einem bequemen Sessel.

Aber warum ist, der zweite Stuhl soviel besser. Rein äußerlich ist kein großer Unterschied zu erkennen. Wie bei Clean-Code liegt es in den Detail. Der Macher hat sich Gedanken darüber gemacht, wie er den Stuhl designt, damit er maximale Bequemlichkeit bietet. Mit viel Liebe hat er sich seiner Arbeit gewidmet und sein Bestes gegeben sein Werk zu vollenden.

Für mich ist ein Clean-Coder jemand, dem es wichtig ist, dass seine Arbeit gut designed ist. Im Hinblick auf Code ist damit wartbar, lesbar, einfach und selbsterklärend gemeint. Dafür muss man viele kleine Dinge beachten, die in der Summe ein Kunstwerk ergeben.

Daran sollte jeder, der ein guter Softwareentwickler werden will arbeiten!