Ciąg dalszy informacji na temat naszego Coding Dojo..
Ostatnio eksperymentowaliśmy z innymi językami niż Java. Wypróbowaliśmy Clojure, Scale oraz Ruby. Kilka obserwacji:
Dojo zaczynamy z „czystym” projektem (startujemy od zera).
W przypadku Clojure i Ruby kodowaliśmy od zera. W przypadku Scali, zostało zaprezentowane i omówione gotowe rozwiązanie. Dużo bardziej podobało nam się kodowanie od zera, gdyż każdy miał szansę zrozumieć co się dzieje (dla wielu języki były obce), a bardziej zaawansowane osoby miały szansę zobaczyć krok po kroku sposób rozwiązywania problemu przez innych.
Prezentowanie gotowego rozwiązania raczej się nie sprawdziło, gdyż osoby dla których język był nowy nie do końca rozumiały co się dzieje, a dla osób zaawansowanych samo finalne rozwiązanie nie było aż tak ciekawe.
Ćwiczymy jedną rzecz na raz
Celem Dojo jest ćwiczenie. By robić to dobrze, warto skupić się na jednej rzeczy na raz. Średnim pomysłem jest ćwiczenie rozwiązania problemu w sposób obiektowy, gdy większość grupy nie potrafi nawet programować w danym języku (w takiej sytuacji można spróbować coś takiego: ekspert w danym języku ma klawiaturę i zamienia sugestie uczestników na temat rozwiązania obiektowego w kod).
Ponieważ spotykamy się tylko na jedną godzinę, dobrze jest wybrać za cel ćwiczenia coś bardzo konkretnego. Poniżej kilka przykładów:
- Eksplorowanie (nowego) języka (Ruby)
- Eksplorowanie (nowego) języka (Scala)
- Ćwiczenie (szybkiego) cyklu RED, GREEN, REFACTOR w TDD (w języku, który zna grupa) (np. chcemy by cykl trwał mniej niż 3 minuty)
- Ćwiczenie programowania obiektowego (w języku, który zna grupa) (np. chcemy by każda klasa przestrzegała zasad SOLID)
- Ćwiczenie nazewnictwa (chcemy, by każda nazwa ujawniała intencję twórcy)
- Ćwiczenie w pisaniu krótkich metod (np. max liczba linii to 4)
- Ćwiczenie w obsłudze IDE (tylko skróty klawiszowe, refactoring)
- Jako grupa ustalamy konkretny cel na najbliższą godzinę
- Jedna para pracuje, jej kod wyświetlany jest na rzutniku
- Parę zmieniamy co 10 minut
- W czasie 10 minut unikamy niepotrzebnych komentarzy, by nie rozpraszać pary. Para powinna komentować to co robi.
- Po 10 minutach jest czas na (krótkie) pytania. Skupiamy się na naszym celu i o tym rozmawiamy (nie rozwodzimy się na temat SOLID gdy celem jest TDD).
- Na koniec powinniśmy zrobić krótką retrospekcję: Czy osiągnęliśmy cel? Czego się nauczyliśmy? Co było fajne w formacie Dojo? Co możemy zrobić lepiej następnym razem?


