Code Retreat - vad är det?

Jo, det ska jag försöka berätta litegrann om. I tisdagskväll var jag på just en sådan arrangerad av Software craftmanship group Linköping.

Vi var totalt 14 personer som samlats i Responsives lokaler i Mjärdevi för en Code Retreat. Syftet med Code Retreat är att det ska vara ett tillfälle för programmerare att utvecklas och lära av varandra utan några som helst prestations- eller leveranskrav. Man får en uppgift som ska lösas i grupper om två och det är faktiskt så att en av grundreglerna för Code Retreat är att all kod som skrivs måste raderas i slutet av varje övning. Detta gör man just för att syftet inte är att prestera något i slutändan utan syftet är den personlig utvecklingen.

Kvällens uppgift var att implementera Conway's Game of Life i valfritt språk och på valfritt sätt under tre stycken 45-minuters pass. Vi delades upp om två och två och sedan var det bara att börja lägga upp en plan för hur man skulle välja att ta sig an uppgiften.

Först angrep vi problemet på enklast möjliga sätt med ett program skrivet i C och vi fick faktiskt till en fungerande implementation under de 45 minuter som övningen pågick.

Andra 45-minuters passet så angrep vi problemet med en objektorienterad lösning skriven i Python.

Det tredje och sista passet bytte vi grupper och denna gång använde vi återigen Python som verkyg men satsade på att använda metoden Test Driven Development denna gång. Metoden går ut på att man låter all koden som skrivs drivas av att man har ett antal testfall ska avklaras. Dvs det kan gå så långt att man aldrig ens kör själva programmet under utvecklingen utan istället så är det testuppsättningen som man kör.

Mellan varje pass så raderades koden och vi reflekterade kring om någon lärt sig något eller om hade någon annan kommentar. Det var intressant att höra att en grupp hade försökt sig på att lösa problemet med hjälp av Verilog, en annan med Haskell och en tredje prövade att använda Skratch.

Sammanfattningsvis så lärde jag mig en hel del om hur man “tänker” Test Driven Development vilket jag kommer ta med mig i framtida projekt. Och det var en väldigt trevlig kväll med mycket trevliga människor. :)