Podsumowanie Hacktoberfest

Październik za nami. Czas więc podsumować akcję Hacktoberfest, którą opisywałem w poprzednim wpisie.

Hacktoberfest 2017 stats – © Grzegorz Kotfis
Ogółem ponad 31tys. osób ukończyło wyzwanie spełniając wymagania publikacji minimum 4 pull request. Razem oddano ich ponad 235tys! Nie ma niestety statystyk ile z nich uzyskało status Merged – czyli zostało rzeczywiście wykorzystanych. Widziałem repozytoria, które miały otwarte masę PR do tych samych issue. Było to najczęściej bardzo drobne poprawki w kodzie, literówki itp. Można było zauważyć, że ludzie wręcz rzucili się na takie zadania 🙂 I ostatnia liczba 63,300. Tyle repozytoriów wzięło udział w akcji.

Moje statystyki

Nie są tak imponujące jak powyższe ale spełniłem kryteria minimum z małym plusem.
Gkotfis statystyki Hacktoberfest
Łącznie oddałem 8 PR do dwóch repozytoriów. Obydwa projekty różniły się między sobą ale obszar zmian dotyczył podobnych mechanizmów – generowania kodu C# na podstawie pewnych danych wejściowych. 

exercism/csharp

Projekt składa się z kilkudziesięciu ćwiczeń pomagających rozwijać umiejętności w programowaniu. Zaimplementowane rozwiązanie można zweryfikować uruchamiając zestaw testów jednostkowych. Dotychczas testy te były przygotowywane ręcznie i właśnie tego dotyczyły zmiany. Aby zaimplementować mechanizm automatycznie generujący kod testów jednostkowych na podstawie danych wejściowych i spodziewanych wyników. Niektóre asercje były nietypowe i trzeba było trochę pogłówkować przy bardziej skomplikowanych strukturach. Ciekawe repozytorium, niezbyt popularne – w sam raz na początek.

ReactiveUI

Bardziej znany projekt, który dość powszechnie jest używany. Widać od razu było różnice w tym jak repozytorium jest utrzymywane, jak wygląda założenie issue czy jakie kryteria musi spełnić project request. Wykonałem tutaj jedno usprawnienie przy EventBuilder – projekcie, który korzystając z refleksji pobiera z bibliotek wszystkie zdarzenia i tworzy dla nich klasy wymagane dla ReactiveUI. Brakowało przeniesienia informacji o tym czy zdarzenie jest Obsolete. Wyzwanie o tyle ciekawe, że korzysta z Mono.Cecil więc przy okazji zapoznałem się trochę z tym frameworkiem.

Profity

Trochę o nich już wspomniałem w poprzednim wpisie. Na pewno była to przydatna dla mnie odskocznia od codziennej pracy, projektu. Nowi ludzi, inne wyzwania programistyczne, inne standardy kodowania – wszystko inne! Co mnie osobiście zaskoczyło to niski próg wejścia. Bałem się, że o wiele więcej czasu zajmie mi wgryzienie się w problem do rozwiązania, zapoznanie z strukturą projektu itd. Duża w tym zasługa dokumentacji oraz opisu issue. Im lepiej wyjaśnione tym mniej pytań i większa szansa, że ktoś w tym pomoże. Moje wyzwania były o tyle fajne, że nie wymagały dużych nakładów jeśli chodzi o konfigurację środowiska developerskiego. Czasami może nas przerażać, że aby wykonać nawet niewielką zmianę musimy dużo czasu przeznaczyć na przygotowanie narzędzi, środowiska testowego itd. No chyba, że lubimy życie na krawędzi i puścimy PR bez żadnych testów czy pełnego build’a. Ale uważam to za brak szacunku dla osób, które poświęcają swój czas na przeglądanie naszych zmian i przygotowanie ewentualnych uwag.
No i najważniejszy gadżetowy profit, który my programiści uwielbiamy. KOSZULKA! Organizator akcji, firma Digital Ocean, obiecała wszystkim spełniającym kryteria t-shirt więc cierpliwie czekam na swój i będę dumnie w nim chodził i prał ręcznie 😂 
A jak u was minął październik?