Clean Code ist was für Dich und mich!

Clean Code ist was für Dich und mich!

photo credit: a window washer soaps up a window for window washing via photopin (license)
photo credit: a window washer soaps up a window for window washing via photopin (license)

Bei meinen ersten Schritte als Programmierer, war ich zuerst einmal sehr froh, dass die umgesetzte Idee funktionierte. Sofort widmete ich mich sofort einer anderen Herausforderung. Als ich nach ein paar Wochen an dem Code was anpassen wollte, hatte ich manchmal Mühe zu verstehen, was ich mit meinen Funktionen und Methoden eigentlich anstellen wollte. So fing ich an, mich wieder in den Code einzulesen, Zeile für Zeile. Waren die Anpassungen fertig, war im Hinterkopf die Stimme zu hören, die einen anspornte die Methoden kleiner und leserlicher zu gestalten. Doch da kam wieder eine neue Aufgabe und die Idee wieder verworfen.

Um so schwieriger ist es, sich in fremden Code einzulesen und die Absichten hinter Methoden zu verstehen, wenn diese größere Bildschirmseiten füllen. An Spezifikationen in Form von Tests war nicht zu denken.

Meiner Meinung nach ist der Prozess der fertigen Entwicklung von lauffähigem Code nicht einfach dadurch abgeschlossen, dass die Programme Ihre Aufgaben verrichten. Nachhaltigkeit ist in der Softwareentwicklung auch ein wichtiges Thema. Deswegen mein Aufruf: „Schlank und verständlich soll der Code sein“.

Manchmal befanden sich im Code noch auskommentierte Teile, bei denen ich mir einbildete sie später mal wieder benutzen zu können und kommentierte ihn nur aus. Auch ein Refactoring innerhalb der Methode fand nicht mehr statt, da keine Spezifikation da war, die ein Ziel der Funktionalität vorgab. Wie dies bei test getriebener Entwicklung zum Glück heut zu Tage sein kann, wenn man vorher Tests schreibt und erst dann den eigentlichen Code. Wie eingangs erwähnt, war ich froh, dass meine Funktionen und Methoden zu funktionieren schienen.

Um schnell fertig zu werden, habe ich manchmal Code kopiert und in anderen Teilen meiner Klassen wieder eingefügt. Weil es verführerisch schnell ging, bekannte Probleme zu lösen. Mit dem Problem, dass wenn dort Bugs steckten, ich an jeder kopierten Stelle Änderungen am Code vornehmen musste.

Meiner Ansicht nach kann man nur ein guter Entwickler werden, wenn man entwickelt, entwickelt, entwickelt und nochmal entwickelt. Mit der Zeit werden einem bestimmte Dinge klare, man entwickelt sich weiter mit jeder Codezeile und mit jedem Rafactoring. Erkenntnisse guten Stils werden gewonnen und mit Code Reviews kann man von anderen Ansichten profitieren. Glücklicherweise existieren auch viele Entwickler, die Ihr wissen und Ihre Erfahrungen teilen und so der Weg zum guten Programmierer etwas ebener ist.

Genauso wie Autoren an Sätzen und Absätzen Feilen, um eine gute Geschichte zu erzählen, möchte ich den Leser meines Codes auch eine art „einfache“ Geschichte an die Hand geben, die leicht anpassbar und wiederverwendbar ist.

Für mich ist Clean Code, Quelltext, den ich ohne viel nachdenken zu müssen, schnell nachvollziehen kann. Der sich so zu sagen selbst erklärt. Durch die Betrachtung von zwei verschiedenen Lösungsmöglichkeiten gewinnt meiner Meinung nach diejenige, die auf Anhieb einen klaren Sinn ergibt und sofort eingängig ist. Dadurch spart man sich und seinen Entwicklerkollegen wertvolle Zeit und somit auch seinem Arbeitgeber Geld. Vor allem aus der Betrachtung heraus, dass Code öfter gelesen als geschrieben wird.

Was zum schmökern

 

 

Gerne möchte ich an dieser Stelle zwei Zitate bringen, die die Clean Code Philosophie gut beschreiben:

Programming is the art of telling another human what one wants the computer to do

__Donald Knuth

 

 

 Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

__Martin Fowler

So ist es wichtig im Hinterkopf zu behalten, dass das Ziel sein sollte, erstmal für sich selbst einfachen Code zu schreiben, um sich zu einem späteren Zeitpunkt schnell wieder einarbeiten zu können und den Entwickler Kollegen das Leben einfach zu gestalten.

Und bedenke immer:

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. Code for readability.

__ Quelle

Ich möchte diesen Artikel als Startpunkt einer Reihe über Clean Code nutzen und an einfachen Beispielen bestimmte Techniken für Dich festhalten.

Clean Code – 3 Prinzipien

Wenn Dir dieser Artikel gefallen hat oder Du noch was ergänzen möchtest, hinterlasse einen Kommentar.

Vielen Dank, dass Du vorbeigeschaut hast

Andrés

Quellen

 

 

 

1 Comment


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.