Minął pierwszy tydzień wyzwania, zostały jeszcze dwa. Dzisiaj zapraszam na pierwsze wrażenia po tygodniu kodowania plus raport z prac nad moją aplikacją.
Wyzwanie 30 minut z kodem wystartowało w zeszły poniedziałek, czyli 7 stycznia. Jego założeniem jest kodowanie codziennie minimum przez 30 minut, a to wszystko przez 21 dni. Tak, by wyrobić w sobie nawyk codziennego kodowania. Więcej o samej idei i przebiegu wyzwania pisałam tutaj.
Jak już wspominałam, wyzwanie to mój osobisty projekt, także zamierzam rozliczać się z postępów prac w formie wpisów na blogu. Mam nadzieję, że Wam też te wpisy się przydadzą. Zobaczycie, ile udaje mi się zrobić i jak w ogóle idzie mi całe wyzwanie. Podczas wyzwania pracuję nad moją aplikacją, czyli nad Habit Trackerem (przypominam, że więcej artykułów o własnej aplikacji krok po kroku znajdziecie w dedykowanej kategorii).
W ostatnim raporcie z prac nad aplikacją podzieliłam się z Wami listą zadań, które chcę wykonać przez najbliższy czas. Z dumą muszę stwierdzić, że wszystkie zadania z listy wykonałam w pierwszym tygodniu wyzwania! A do tego zrobiłam jeszcze parę rzeczy, których początkowo nie planowałam. Po kolei!
Po pierwsze – dziękuję Wam za code review, które mi ostatnio zrobiliście! Zarówno uwagi umieszczone w formie komentarzy pod wpisem czy w grupie, jak i te, które dostałam od Was mailowo, dokładnie przeanalizowałam i wprowadziłam poprawki w kodzie. Jedyna rzecz, nad którą jeszcze chcę popracować to układ komponentów. Zwróciliście uwagę, że komponenty powinny być zaplanowane trochę inaczej i na razie nie miałam czasu, żeby dokładnie przestudiować dokumentację i poszukać lepszego podziału dla mojego projektu. Na pewno zrobię to na dniach.
Od początku pracy nad projektem wahałam się, w jaki sposób zaimplementować w aplikacji style. Rozwiązanie, którego początkowo użyłam nie było idealne i sprawiało, że miałam w projekcie bałagan ze stylami. Dzięki pomocy jednego z moich czytelników w projekcie została zmieniona wersja Create React App na 2 (dzięki, Damian!), co dało mi dostęp do css-modules. I od razu ze stylami zrobił się porządek!
Jeśli nie wiecie, czym są css-modules, zajrzyjcie do oficjalnej dokumentacji. Ja sama miałam z nimi wcześniej do czynienia, ale nie jakoś dogłębnie, więc trochę spędziłam na czytaniu, jak dobrze ich używać. Pewnie nadal jest wiele do poprawy (nie wiem na przykład, czy stosować jakieś specjalne, konsekwentne nazewnictwo klas), ale idę do przodu. Jak macie uwagi w temacie stylowania, koniecznie napiszcie, chętnie poczytam wszelkie sugestie.
W czasie tego tygodnia dopisałam do istniejących komponentów proste testy jednostkowe. Zdecydowałam się na użycie snapshot testing, które umożliwia Jest. Na razie sprawdzam tylko, czy komponenty odpowiednio się renderują, czy nie zmieniają swojej struktury. Na pewno przy bardziej zaawansowanym testowaniu będę musiała użyć do testowania czegoś jeszcze, ale na razie jeszcze nie podjęłam decyzji.
Oprócz tego wprowadziłam do aplikacji lintera, dzięki czemu mogę sprawdzać poprawność kodu. Od razu zrobiło się bardziej przejrzyście 🙂 Popracowałam też trochę nad mobilnym wyglądem aplikacji. Jeszcze idealnie nie jest, ale na pewno lepiej niż było. W tym poście wrzucałam zdjęcie, jak strona powitalna aktualnie wygląda w wersji mobilnej. Wszystkie zmiany, o których pisałam powyżej są już na głównej gałęzi projektu, więc odsyłam Was na GitHub, jak chcecie zobaczyć, jak kod aktualnie się prezentuje.
Na osobnej gałęzi (facebook-github-login) zaczęłam też pracę nad umożliwieniem logowania się do aplikacji za pomocą Facebooka i GitHuba. Na razie wiele tam nie ma, ale dodałam Firebase (założyłam też na Firebase projekt) oraz zaczęłam prace nad komponentem logowania (na razie tylko widok). Moim celem na najbliższy tydzień jest zrobienie właśnie tej części, czyli logowania do aplikacji.
Jak widzicie, całkiem sporo zrobiłam, a naprawdę to są rzeczy, nad którymi pracowałam tylko w ubiegłym tygodniu. Wcześniej zupełnie nie miałam czasu, żeby siedzieć nad aplikacją (ach, te przeprowadzki!). Po tygodniu wyzwania muszę powiedzieć, że takie 30 minut naprawdę wiele daje! Ale przyznam, że były chyba tylko dwa dni, kiedy naprawdę kodowałam równe 30 minut. Przez resztę dni problemy wciągały mnie na tyle, że siedziałam trochę dłużej.
Nie obyło się jednak bez słabszych momentów. Ostatnimi czasy nie spędzałam nad kodem wiele i odzwyczaiłam się trochę od tego, jak pracuje się przy projekcie. Dość mocno sfrustrowało mnie pierwsze duże niepowodzenie (dodanie css-modules do projektu rozwaliło dosłownie wszystkie style i zupełnie nie mogłam sobie poradzić z nich naprawieniem). I zamiast zastosować się do swojej własnej rady i odpuścić sobie pracę na ten dzień, siedziałam, kombinowałam i frustrowałam się coraz bardziej. Następnego dnia okazało się, że zmieniałam nie tę linijkę i używałam nie tej zmiennej, czyli klasyczny błąd, który wynikał ze zmęczenia i niedopatrzenia. I oczywiście dzień później wszystko zadziałało.
Opisałam tę historię w grupie i jedna z dziewczyn poleciła mi w temacie książkę “Głowa do liczb” Barbary Oakley. O tym, jak uczyć się matematyki i innych ścisłych przedmiotów, czy też zagadnień, które wymagają rozwiązywania problemów. Nie słyszałam wcześniej o tej książce, zaczęłam czytać i na razie zupełnie przepadłam! Super porady, nawet nie jestem w połowie, a już wiele rad mogę stosować. Jak znajdę chwilę, to napisze osobny wpis o tej książce, bo zdecydowanie jest warta uwagi. Chyba największą zmianą w myśleniu jak na razie jest dla mnie porada, aby nie zakładać, że rozwiąże się dany problem, ale że poświęci się na niego określony czas. I po tym czasie dobrze zrobić sobie przerwę, aby mózg mógł zacząć opracowywać problem w tle. To naprawdę pomaga w kodowaniu!
Jak widzicie, ten tydzień był dla mnie owocny, jeśli chodzi o prace nad Habit Trackerem. Oczywiście, zapraszam na stronę projektu na GitHubie, gdzie możecie przejrzeć kod, aby potem zostawić mi uwagi 🙂 W najbliższym czasie skupiam się na opcji logowania, a potem w końcu zaczynam pracę nad dashboardem z nawykami. Czyli w końcu clue całego projektu! Nie mogę się doczekać!
A jak u Was? Pracujecie nad aplikacjami, robicie kursy, bierzecie udział w wyzwaniu? Zajrzyjcie na stronę wyzwania na FB, gdzie możecie podzielić się swoimi wrażeniami, sukcesami, czy problemami. W grupie siła! I powodzenia na kolejne dni wyzwania! Następny raport już za tydzień.
Heh, to takie wyzwania sobie robią programiści? 😛 Osobiście, mam wyzwanie, by codziennie pisać chociaż przez 25 minut teksty na bloga. Ale kodowanie też jest ciekawe 😛
Nie wiem, co jest złego w pracy codziennie 30 minut na swoim projektem 😉 U mnie takie wyzwania się sprawdzają