TDD – Der Umstieg

Der Begriff TDD – in Langform Test-Driven Development – war für mich bis vor kurzem bedeutungslos. Erst die zufällige, regen-bedingte Lektüre von Clean Coder: Verhaltensregeln für professionelle Programmierer (geschrieben von UncleBob, einer Ikone im Programmiergeschäft) hat mich mit der Nase drauf gestoßen. Ich denke die allermeisten Nicht-Profis sind bisher relativ gut mit der Methode „programmieren, manuelles testen, debuggen, weiter programmieren“ gefahren. Je komplexer das Projekt, desto ausgedehnter werden mithin die Debug-Sessions und desto verworrener wird der Code. Mit TDD hat theoretisch beides ein Ende oder wird praktisch betrachtet zumindest stark minimiert. Zudem soll TDD einem beim guten und sauberen Design der Software helfen, denn auch Code-Design ist vor allem für Anfänger aber auch für Fortgeschrittene und einige Profis keine leicht zu lösende Aufgabe.

Wer sich jetzt fragt, was TDD ist, dem sei einer der hunderttausend Youtube Videos zum thema empfohlen, zB dieses hier: Test Driven Development Introduction oder auch der Wikipedia-Eintrag. Wichtig zu verstehen ist, dass TDD nicht nur einfach bedeutet, mehr und für alles Tests zu schreiben, sondern dass es eine komplette innere Einstellung beim Programmieren darstellt.

Der Selbstversuch soll mir nun zeigen ob die dem TDD nachgesagten Effekte stimmen. Außerdem soll er meine programmiertechnischen Fähigkeiten um ein paar Level erhöhen und professionalisieren.

Wie sieht der Selbstversuch nun aus? Ich füge dem Android Play Store einen weiteren Taschenrechner zu den gefühlt 100000 schon existierenden Taschenrechnern hinzu 😀 Laut allgemeinem Einvernehmen benötigt man etwa 5 Monate um das TDD-System zu verinnerlichen und um damit schließlich sogar effektiver als zuvor arbeiten zu können. Und ich denke in dieser Zeit wird der Taschenrechner bestimmt einiges lernen können. Falls mir das Endprodukt gefällt werde ich es unter eine offene Lizenz stellen. Solange der Rechner allerdings noch nicht fertig ist, wird er zwar auf GitHub einzusehen sein, aber lizenztechnisch gefesselt.

Mögen die Spiele Beginnen 😀

Ich empfehle auch meinen nächsten Blogposts zum Sinn von Katas: Was zum Teufel sind Katas?

Schreibe einen Kommentar

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