Bei einem Coding Dojo wird gemeinsam (Pair Programming) eine kleine, überschaubare Übungsaufgabe (Coding Kata) testgetrieben (TDD) entwickelt. Dabei steht das gemeinsame voneinander Lernen und Üben von bereits Gelerntem im Fokus. Die komplette Lösung der Aufgabe ist nicht zwingend. Vielmehr ist der Weg das Ziel. Um den Schwierigkeitsgrad zu steigern können zusätzlich zur eigentlichen Übungsaufgabe Constraints festgelegt werden.
Die Wahl der Übungsaufgabe fiel diesen Monat auf die Conways Game of Life.
Als Einschränkung (Constraint) gibt es "No Primitives accross method boundaries (input or output)". Die Teams arbeiten in Paaren. Ihr benötigt ein Unit-Testing Framework für eure gewählte Programmiersprache mit einer installierten Entwicklungsumgebung.
Die Einschränkung "No Primitives accross method boundaries (input or output)" bedeutet, dass abgesehen von einem Konstruktor keine Methode einen primitiven Datentyp als Übergabe- oder Rückgabeparameter erwartet.
Als primitive Datentypen gelten int, string, array, list, usw…
Statt dessen sind Datentypen zu verwenden die wir selbst definiert haben im Sinne von "ValueObjects".
Wir konzentrieren uns auf das was die Datentypen im Konzept der Anwendung repräsentieren und erstellen dafür eigene Datentypen.
Wer hat, bringt einen Laptop mit installierter Entwicklungsumgebung und entsprechendem Unit-Testing Framework mit.
Das Kata wird von Tobias Hochgürtel durchgeführt.