Softwerkskammer

 

Global Day of Code Retreat 2017 in Karlsruhe

In diesem Blogbeitrag soll der GDCR '17 in Karlsruhe bei Fiducia & GAD IT sowie die wichtigsten aufgekommenen Punkte zusammengefasst werden.

Sessions

1. kein Constraint

Durch das Feedback aus dem letzten Jahr ("einmal ohne Constraint bitte") wurde in der ersten Runde komplett auf Constraints verzichtet. Damit hatten die Teilnehmer die Möglichkeit sich voll auf das Problem bzw. die Domäne zu konzentrieren und diese dadurch kennen zu lernen. Gerade auch um eine neue Programmiersprache auszuprobieren eine gern genutzte Session.

2. Alle primitiven Datentypen kapseln

Der kleine Bruder von Object Calisthencs: Parameter und Rückgabewerte dürfen nicht aus primitiven Datentypen wie Zahlen oder Strings bestehen sondern müssen domainenspezifische Objekte gekapselt werden (Ausnahme: Die Konstruktoren dieser domainenspezifische Objekte).

3. Baby Steps

Als letzte Session vor der Pause, haben wir uns für Baby Steps entschieden, d.h. jeder Zyklus von einem grünen Commit über einen weiteren Test oder über Refactoring hin zu einem grünen Commit darf maximal zwei Minuten lang sein. Falls die Zeit überschritten wird, muss zurückgesetzt werden. Dieses Constraint fördert das kleinteilige Arbeiten im TDD-Zyklus. Vermeintlich kleinste Schritte lassen sich oft in noch kleinere Schritte unterteilen.
Retro: Da sich viele Gruppen doch recht schwer getan haben, stellte Peter in der Retro die green bar patterns, im deutschsprachigen oft auch als "drei Wege zu grün" bezeichnet ("obvious implementation", "fake it 'til you make it" und "triangulation") vor.

4. Kein Else

Klar soweit?
Retro: Wurde als recht einfaches Constraint empfunden.

5. Split Brain

Als einzige Ausnahme, wurde vor dieser Session der Code nicht gelöscht. Die Paare wurden wie gehabt gewechselt, wobei nun einer der "alt eingesessene" ist, und einer der "neue". Nun sollte ein gemeinsames Code-Review stattfinden, „Wie gut wurde 'Four Rules of Simple Design' eingehalten“? Sind die Tests lesbar?
Retro: Der Constraint hat seinen Zweck erfüllt, die Teilnehmer mussten sich mit dem gegebenen Code auseinandersetzen, neue Kompromisse eingehen. Ganz im Gegensatz zu den vorherigen Sessions in den stehts auf grüner Wiese begonnen werden konnte.

Slides

https://owncloud.christophhaefner.de/s/utjImzpxtBNiJyR
(Gueltig bis 31.12.2017)