Sobotni Global Day of Coderetreat w Warszawie udał się świetnie. Była to część światowego wydarzenia, w którym brało udział 2200 programistów w 90 miastach. Zasady coderetrat opisaliśmy w poprzednim poście. Teraz czas na podsumowanie i uwagi, ponieważ pierwszy raz brałem udział w tym specyficznym szkoleniu.

Sesje

Po wprowadzeniu w temat przystąpiliśmy do 45 minutowych sesji, których było razem 6. W każdej z niej próbowaliśmy napisać grę w życie, za każdym razem zaczynając od nowa z inną osobą i innymi wytycznymi (ograniczeniami), wszystko oczywiście w duchu test driven development. Często też zmienialiśmy edytory, języki oraz środowiska, by poszerzeszyć swoje horyzonty.

Pierwsza sesja polegała po prostu na oswojeniu się z tematem i udowodeniu uczestnikom, że nie da się zrealizować tego zadania w 45 minut. Przez pomyłkę sesja ta zakończyła się raptem po 25 minutach, ale pokazało to nam tylko, jak mało czasu jest na iterację i przyzywczaiło do usuwania kodu na końcu.

W następnych sesjach skupiliśmy się na prostym projekcie, dobrym nazywaniu zmiennych i próbie napisania gry, bez używania pętli lub rozgałęzień (czyli funkcji w stylu if oraz switch) - okazało się, że jest na to sposób. Było to wyzwaniem i pozwoliło na spojrzenie na implementację z innej perspektywy.

Najciekawsza okazała się czwarta sesja o nazwie "evil coder". Polegała ona na tym, że jedna osoba pisała tylko testy, a druga kod, ale w najbardziej złośliwy i leniwy sposób. Na przykład jeśli test sprawdzał, czy jakaś funkcja zwraca wartość 2, to wystarczyło napisać metodę, która wypisuje 2. Dodatkowo w czasie tej sesji, nie można było rozmawiać, więc była to świetna nauka jak napisać nazwę testu i jego treść, tak by druga osoba była w stanie zrozumieć nasze intencje. Złośliwy programista z kolei pokazywał, jak pisać jednoznaczne testy, które rzeczywiście sprawdzają wszystkie przypadki.

Dwie ostatnie sesje polegały na obiektowym potraktowaniu odległości i koncepcji sąsiednich komórek, oraz na zastasowaniu zasady tell, don't ask. Więcej czasu niż na implementacji spędziliśmy na rozważaniu nad koncepcją i strukturą kodu. Dodatkowo zmęczenie dało o sobie znać i z mojego punktu widzenia były to najmniej owocne iteracje.

Na koniec zrobiliśmy wspólne podsumowanie, wymieniając czego się nauczyliśmy i co wprowadzimy w poniedziałek w życie, po czym udaliśmy się na zasłużone piwo.

Uwagi

Mimo kilku problemów organizacyjnych (w ostatniej chwili wycofał nam się sponsor) udało nam się zorganizować fajne wydarzenie. Wielkie brawa należą się Michałowi Taszyckiemu za brawurowe poprowadzenie szkolenia, przekazał nam naprawdę dużo cennych wskazówek. Chciałbym również podziękować Pawłowi, Maćkowi i Darkowi, z którymi miałem przyjemność zrealizować coderetreat w Warszawie.

Z kilkudniowej perspektywy muszę przyznać, że programuję nieco lepiej, niż tydzień temu i zwracam uwagę na kilka nowych aspektów testowania. Warto było spędzić całą sobotę w świetnej atmosferze z ciekawymi ludźmi, tworząc doskonały kod. Myślimy o kolejnej edycji na wiosnę!

Więcej zdjęć z imprezy jest dostępna w albumie Dariusza Gorzęby.