sobota, 12 stycznia 2013

Code Retreat Warszawa 2013

Swoj drugi w zyciu code retreat minął pomyślnie. Bylo ciekawie i owocnie. W odróżnieniu od pierwszego code retreat ktory skupiał sie na czystej Javie i TDD tym razem rozwijalismy aplikacje w Androidzie.
Od czasu kiedy uczylem się Androida i pisalem pierwsze aplikacje na tą platforme minęło kilka lat. Nic dziwnego ze w tym czasie wiele sie zmieniło w kwestii narządzi deweloperskich. Pomysł pokazania w jaki sposob Groovy moze zaistniec na tym polu przynajmniej dla mnie była trafiona.
Chłopaki z Polidea zrobili kawal dobrej roboty integrujac Roboelectric ze Spockframework z czego powstalo RoboSpock. Co więcej, przed spotkaniem przygotowali nawet startowy projekt. O ile Spockframework mialem okazje używać przy testowaniu aplikacji w Grails, zachwycony łatwością pisania testow, o tyle Roboelectric i buildy w Gradle byly dla mnie czyms zupelnie nowym.

Na poczatku mieliśmy trochę kłopotów z uruchomieniem projektu w IDE (Eclipse, Idea) ale wkrótce wiekszosci udało się to naprawić. W czasie sesji panowała zupełna dowolność. To para wybierała sobie temat - m.in. ćwiczenie TDD, nauka skrótów klawiszowych, kodowanie na kartce, ustalenie utrudnień (max 2 pola na klasę, max 4 linijki na metodę), testowanie widoków (Android View). W przerwie można było pograć w Quoridor.

Mnie udało się  w pierwszej sesji poćwiczyć TDD na zwykłym projekcie Javowym, potem powalczyłem z postawieniem projektu w Idei, następnie parę testów TDD w projekcie Androidowym.

Organizatorzy postawili nam również obiad, nie byle jaki ale składający się z pierwszego, drugiego dania i deseru :) Szacun dla nich.

Po obiedzie jeszcze parę sesji ale ogólny pęd do kodowania został trochę uśpiony (być może z powodu dobrego posiłku). W tej części poznałem bliżej roboguice i nauczyłem paru nowych skrótów klawiszowych w Idei. Dla szybszej nauki skrótów może być przydatny plugin Key Promoter  
(mousefeed to plugin dla Eclipse)
Niektóre przydatne skróty:

ctrl + j - wrzuć template kodu np. psvm rozwija domyślnie na public static void main (String[]args)...

ctrl + alt + N  - na metodzie zamienia wszystkie wywołania tego kodu ciałem metody i usuwa metodę
ctrl + alt + M - ekstrakt metody
ctrl + alt + V - ekstrakt zmiennej
ctrl + alt + F - ekstrakt pola
ctrl + alt + C - ekstrakt stałej
ctrl + alt + P - ekstrakt do paramertu metody

f2 - przenosi do najbliższego błędu kompilacji
alt + enter - autogenerate (metody lub przypisanie do zmiennej)
alt ~ - diff repo
ctrl + shift + 1 - podlinkowanie linii do 'ulubionych' pod pierwsza pozycja, analogicznie dla 2, 3..
ctrl +1 - skok do linku z ulubionych pod pierwszą pozycją
shift + f11 - wyświetlenie listy ulubionych
ctrl + q - wyświetla javadoc dla metody
ctrl + shift + f10 -  run projektu
shift + f9 - debug projektu
ctrl +  shift +strzałka góra/dół - przenoszenie linii kodu lub całej metody w dórę/dół pliku

Na koniec jedni się rozeszli a inni zostali jeszcze by kontynuować dyskusje przy browarze u Znajomych Znajomych ;)

A oto jak się skupiałem podczas jednej z sesji :D

2 komentarze:

  1. Dzięki Marcin za bardzo miły komentarz :-)
    Zachęceni pozytywnymi opiniami (i biorąc nauczkę z uwag) za miesiąc postaramy się zrobić jeszcze fajniejsze wydarzenie.

    Pozdrawiam,
    Wojtek

    OdpowiedzUsuń
    Odpowiedzi
    1. :) chetnie sprawdze osobiscie, jesli uda mi sie zalapac.

      Usuń