Poznański Code Retreat – relacja – 21 listopada

Jeśli ktoś nie wie co to Code Retreat to spieszę w wyjaśnieniami – to rodzaj warsztatów programistycznych, których formuła została wymyślona przez Patrick’a Welsh’a, Nayan’a Hajratwala i Corey Haines’a. Celem pomysłodawców było stworzenie formy, w ramach której uczestnicy będą mogli dzielić się praktyczną wiedzą na temat tworzenia dobrej jakości kodu (przy wykorzystaniu założeń Test Driven Development i Pair programming). Poniżej relacja z mojej pierwszej imprezy tego typu.

Impreza ta odbyła się w Poznaniu, 21 listopada 2015 roku. Było około 25 osób. Trwała około 6 godzin. Niestety/stety większość programowała w Javie a ja nie miałem kompa więc byłem skazany na pisanie get-ów i set-tów. Jednym z założeń tej imprezy jest, aby na całym świecie mniej więcej równolegle w tym samym czasie odbywały się takie warsztaty.

Zasady

W skrócie zasady, które obowiązywały na spotkaniu:

  • pracowaliśmy w parach,
  • celem każdej pary był rozwiązanie prostego zadania, zaimplementowania gry w życie
  • warsztaty składały się z 5 iteracji, z których każda trwała 45min
  • po każdej sesji,
    • była przerwa i czas na dyskusję na temat przyjętych rozwiązań,
    • każdy opowiadał publicznie, czego się nauczył i co udało mu się zrobić,
    • następnie cały kod był kasowany,
    • następowało przemieszanie par – tak aby każdy miał okazję wymienić doświadczenia z innymi uczestnikami.
    • do zadania zostały wprowadzone dodatkowe ograniczenia

 

Poniżej jakiś filmik z takiej własnie imprezy z Wrocławia z 2010 roku. U Nas wyglądało to tak samo. Po dwie osoby przy kompie i dysputy.

Praktyczny punkt widzenia

Problem, który rozwiązywaliśmy to Gra w życie. W pierwszej iteracji, zadanie polegało na stworzenie działającego rozwiązania gry w życie z zachowaniem metodyki TDD. Nie było to bardzo trudne ale jednoczenie nie było to super trywialne.

Druga i kolejne iterację nakładały ograniczenia w stylu:

  • brak if-ów w metodach,
  • przestrzeganie prawa Demeter
  • nie używania metod get i set
  • stosowania tylko rzeczowników w nazwach metod
  • oraz ostatnia iteracja polegała na napisaniu programu gra w życie jedynie przy pomocy testów.

Były też iteracje z jasno określonym ćwiczeniem. Jedna osoba wymyślała i pisała test. A druga pisała kod, który ten jest spełniał.

Pierwsza i druga iteracja nie zawsze przynosiły pełne rozwiązanie problemu, dlatego każdy z czasie przerwy mógł coś powiedzieć co się mu udało zrobić a co nie.

W większość wszyscy stosowali techniki funkcyjne (java 8 i zachwyt nad strumieniami) z C# od dawna jest LINQ-u więc zachwyt mnie ominął.

Zmiana partnerów powodowała, że co chwilę spotykałem się z innym podejściem do problemu, innym stylem kodowania i innym IDE. Było to nie tyle ciekawe co trudne.

Programowanie w parach w pracy jest ok. ale takie nagłe zmiany partnerów, tylko 45 minut na rozwiązanie problemu prowadziły często do braku dobrych efektów. Mówiąc efektów mam na myśli, działające rozwiązanie. Jeśli chodzi o doświadczenie to było go sporo, sporo się było można było nauczyć i podpatrzeć. Zmiana perspektywy daje ogromną weryfikację swoich umiejętności, zmianę w sposobie myślenia. A i czasem ujawniają się jakieś braki.

Z ciekawostek to programowałem z gościem, który nie używał IDE. Java, notatnik, podpowiadanie kodu i dokumentacja na Alt + Tab. Było extra patrzeć jak dzielnie pisze klasy i metody aż do momentu jak trzeba było do skompilować. Poprawianie literówek zajęło 20 minut ; )

Podsumowanie

Ogólnie było dobrze. Warto choć raz wsiąść udział w tym wydarzeniu. Minusem było to, że w sumie w poprzedniej edycji (w zeszłym roku) był ten sam problem do rozwiązania i bardzo podobne utrudnienia. Nie wiem czy pójdę w przyszłym roku ale na pewno zachęca do udziału.

ps

Jak by kogoś interesowała moja przykładowa implementacja gry w życie w C# to zapraszam na github-a https://github.com/przemekwa/-TheGameOfLife

 

Trochę linków:

Głowna strona projektu –  http://coderetreat.org/

Poznański CodeRetreat – http://www.jug.poznan.pl/materialy-ze-spotkan/materialy/2-poznanski-code-retreat/

Wrocław CodeRetreat – http://coderetreat.org/events/global-day-of-coderetreat-2015-in-wroclaw-poland

Gdańsk CodeRetreat – http://coderetreat.org/events/global-day-of-coderetreat-2013-gdansk-poland

Kraków CodeRetreat – http://coderetreat.org/events/global-day-of-coderetreat-2014-krak-w-poland 

Jak widać w każdym mieście coś się działo. Czasem ścieżko znaleźć informację o tym co, gdzie się dzieje. Polecam platformę http://www.meetup.com/ oraz https://www.eventbrite.com/ gdzie często można przypadkowo trafić na dobre eventy .NET i nie tylko.

 

3 przemyślenia nt. „Poznański Code Retreat – relacja – 21 listopada

  1. Hej, własnie ćwiczenie polegało na tym aby używać rzeczowników. Spróbuj sobie wyobrazić taką sytuację. Bardzo mocno się zmienia wtedy podejście do problemu.

  2. Pingback: dotnetomaniak.pl

Możliwość komentowania jest wyłączona.