niedziela, 4 grudnia 2011

I po Global Day of Code Retreat 2011 w Krakowie


W sobotę 3ciego grudnia miało miejsce ciekawe wydarzenie: Global Day of CodeRetreat. Czym jest samo CodeRetreat można poczytać w moim wpisie z przed ponad roku: Wrażenia po CodeRetreat we Wrocławiu. Kilka miast przypadkiem zaczęło organizować u siebie tego typu imprezę akurat 3ciego grudnia. Postanowiono więc, tą datę ochrzcić Globalnym Dniem CodeRetreat’a i zaczęto masowo organizować to wydarzenie na całym świecie. Kraków był jednym z Polskich miast (zaraz obok Łodzi, Poznania i Warszawy), który zorganizował „Rekolekcje Kodu” i postanowiłem się tam wybrać.

Miałem okazję pokodować ze znajomymi jak i z kompletnie obcymi osobami. Zdziwiło mnie, że mimo iż wielokrotnie podchodziłem do problemu Gry w życie Conwaya (na poprzednich CR’ach jak i w domu), to i tak poznałem kolejne, nowe sposoby, jak można ugryźć problem. W wolnej chwili trzeba będzie jeszcze sprawdzić kilka rozwiązań.

Podczas wydarzenia udało mi się m.in. wraz z Tomkiem Kaczanowskim nie używać w ogóle myszki. Po prostu ją wyłączyliśmy. Trochę touchpad w laptopie przeszkadzał (muszę w końcu poszukać, czy da się go jakoś wyłączyć) ale udało się. Trochę innych skrótów klawiaturowych używaliśmy, dzięki czemu można było się „wymienić” znanymi hotkey’ami.

Miałem również okazję popisać w C# z którego na co dzień nie korzystam. W tym języku pozytywnie zaskoczył mnie LINQu po tym, jak spory kawałek brzydkiego kodu z zagłębionymi wcięciami został jednym skrótem klawiaturowym zamieniony na 2 linijki kodu! Był on czytelny, przypominał Fluent Interface i dało się go zrozumieć. Nie wiem czy jest dostępny mechanizm odwrotny – na pewno byłby przydatny dla poczatkujących programistów i chcących poznać ten język.

Ciekawą techniką okazało się również TDD as if you meant it czyli pisanie całego kodu w teście i dopiero na końcu jego ekstrahowanie do metod i osobnych klas na zewnątrz. Ciekawe podejście, podczas którego trzeba nagiąć nasze przyzwyczajenia i pisać kod produkcyjny w metodzie testowej. Niebezpieczeństwem tej metody jest rzecz o której ktoś na sali wspominał, że testy były zielone, ale kod był dalej w testach. Więcej informacji odnośnie tej techniki: na coderetreat.orgcumulative-hypotheses.org i gojko.net.

Miałem również okazję poćwiczyć ping pong’a, gdzie piszemy test dla drugiej osoby, a ta wykonuje implementację, refaktoring i test dla nas. Moje osobiste odczucie jest takie, że staramy się wtedy „odbić” piłeczkę tak, aby drugiemu ciężko było ją „odebrać”. Prowadzi to często do tego, że jedna osoba spędza większość czasu przed klawiaturą, a druga staje się mniej aktywna. No i mogą powstawać wtedy potworki. Przykład poniżej:



Kasowałem kod po każdej z sesji, ale tego screen’a musiałem zrobić :) Co fajniejsze, w tym kodzie jest błąd. Na szczęście udało się go znaleźć, ale na refaktoryzację już zabrakło czasu.

Kolejnym pozytywnym zaskoczeniem dla mnie było to, że coraz więcej osób korzysta / chce korzystać z IntelliJ Idea. Ludzie albo mają dość Eclipse’a, który czasami zachowuje się niedeterministycznie, albo zauważają potęgę IDEI. Żeby tylko jeszcze pracodawcy chętnie w nią inwestowali...

W trakcie jednej z przerw łączyliśmy się przez Skype’a z Nowym Yorkiem i Łodzią, gdzie również odbywało się CodeRetreat. Można było chwilę pożartować i poczuć, że jest to to globalne wydarzenie i że gdzieś indziej ludzie również bawią się wspólnie kodujac. Ogółem do zabawy przyłączyło się 90 miast i około 2200 developerów.

Organizacyjne event w Krakowie był dobrze przygotowany. Mi zabrakło informacji, że tak naprawdę zaczynamy od godziny 9 a nie od 8. Zawsze to by człowiek chwilę dłużej pospał, zwłaszcza gdy się wyjeżdża o 5tej rano z Wrocławia. Niewyspanie dawało chwilami o sobie znać.

Obiad był i nie była to pizza, więc wymaganie podstawowe warsztatów zostało zachowane. Nie był to też obiad w stylu restauracyjnym, ale za to można było wziąć dokładkę. Szybko jednak zabrakło soków i w ogóle nie było herbaty (o dziwo nie wszyscy piją kawę). Początkowo panował mały organizacyjny chaos, ale po 9 godzinie szło już sprawnie. Osobiście trochę nie podobały mi się pytania na retrospektywie (w stylu ile osób robiło coś tam), gdyż to nie zachęca do opisywania swoich odczuć z danej sesji. Ogólne pytanie w stylu: „jak odczucia?” sprawdziło by się lepiej. We Wrocławiu rok temu działało.

Ogólnie całe wydarzenie wypadło bardzo pozytywnie. Widać, ze coraz szerzej techniki programowania w parach jak i TDD są znane wśród programistów. Motywuje to do dalszego działania i zgłębiania tematu.

1 komentarz:

  1. Zachecajace jest to, ze mimo iz byles juz na kilku CR wciaz uczysz sie tam nowych rzeczy.

    OdpowiedzUsuń