Ktoś mi kiedyś powiedział, że czytanie kodu jest, jak czytanie książki – otwierasz i czytasz, linijka po linijce. Brzmi prosto prawda? W moim przypadku, tak jednak nie było. Zajęło mi sporo czasu, żeby zacząć uczyć się na błędach oraz nauczyć „czytać kod”. Ponieważ mam to już za sobą oraz zdobyłem ogromne doświadczenie w debugowaniu kodu, podzielę się dzisiaj z Tobą kilkoma radami:
- Czytanie kodu z projektów dostępnych na GitHubie
Nie ma nic lepszego, niż próba zrozumienia czyjegoś kodu. Wpisujesz w google: „php trending projects GitHub”, otwierasz pierwszą lepszą stronę i pobierasz projekt, który Cię interesuje. Następnie zapoznajesz się z jego działaniem, czytasz linijka po linijce co tam się dzieje, próbujesz coś modyfikować.
- Stworzenie projektu, który będzie sprawiać Ci frajdę
Czy jest jakaś rzecz, którą chciałbyś zautomatyzować? Może chcesz napisać skrypt, który będzie pobierać zdjęcia ze stacka i grupować je kategoriami? Cokolwiek przyjdzie Ci do głowy, jest świetnym pomysłem do nauki. Ze wszystkich tych rzeczy, to właśnie dzięki własnej pracy i próbie napisania działającego kodu, nauczysz się najwięcej.
- Korzystanie z dokumentacji i sandboxu
Dokumentacja prawdę Ci powie, to z niej dowiesz się, jakie parametry dana metoda przyjmuje, jakie można ustawiać „flagi” oraz co zwraca w momencie gdy wykona się poprawnie, bądź też nie. Najlepszym sposobem na przetestowanie, jest wykorzystanie do tego sandboxu (strona, umożliwiająca wykonywanie się skryptów danego języka). W internecie, znajdziesz ich pełno, dla każdego języka.
- Wykonywanie różnego rodzaju zadań programistycznych
Mam tutaj na myśli wszystkiego rodzaju strony, pokroju Code Wars. Znajdziesz tam konkretne zadania do wykonania, które mają zwrócić zaplanowany wynik. Dzięki rozwiązywaniu takich ćwiczeń, uczysz się wykonywać zadania zgodnie z treścią, oraz upewniasz się, że o wszystkim pomyślałeś i dobrze napisałeś skrypt. Bezcennym plusem tej strony jest to, że po każdym zakończonym poprawnie zadaniu, możesz podejrzeć jak sobie z nim poradzili inni. W ten sposób, często dowiadujesz się, że rozwiązanie tego samego problemu, które zapisałeś na 30 linijek, można wykonać w 2 linijkach, za pomocą wbudowanych funkcji, o których istnieniu nie wiedziałeś. Dzięki temu, już o nich wiesz i jak w przyszłości w pracy przyjdzie Ci się spotkać z podobnym problemem, poradzisz sobie z nim natychmiastowo.
- Zapoznanie się z podstawami danego języka
Czasami, żeby pójść do przodu, trzeba zrobić krok w tył. Tak też zrobiłem. Wróciłem do początków i zapoznałem się ze wszystkimi dostępnymi tutorialami z języka PHP. Po co? Żeby nic, co powinienem umieć mnie nie zaskoczyło oraz żebym miał większą pewność siebie, w tym co robię.
- Proszenie o pomoc, gdy jest ona potrzebna
Czasami, szczególnie podczas dłuższej pracy nad danym tematem, potrafi przytrafić nam się błąd, którego nie jesteśmy w stanie w szybki sposób rozwiązać. Czy mieliście tak, że zastanawialiście się nad problemem ponad godzinę, spróbowaliście wszystkich możliwych sposobów i dalej Wam coś nie działało? Następnie poprosiliście kolegę o pomoc, spojrzał na komunikat błędu i powiedział: „Ostatnio miałem to samo, musisz tu i tu zrobić to i tamto”. Magia, nagle zadziałało. Proszenie o pomoc, nie jest niczym złym, oczywiście o ile nie pytamy ciągle o to samo, a następnie robimy te same błędy. Jeżeli siedzisz nad czymś dłużej niż 10 minut i nie udało Ci się ruszyć do przodu, poproś o pomoc :).
- Gumowa kaczuszka
Jest ona Twoim „widzem”. Kaczuszka w tym przypadku jest symboliczna, to może być naprawdę cokolwiek, dowolny przedmiot, z którym będziesz „rozmawiać”. Ale jak to rozmawiać? Twoim zadaniem, będzie opowiedzenie, linijka po linijce, co się dzieje w kodzie, szczególnie w tych miejscach, które sam napisałeś. Pamiętaj również, żeby sprawdzać zależności i zawsze wszystko testuj: to, że czegoś nie widać, nie oznacza że tego nie ma.
To wymaga czasu i praktyki. Nikt nie powiedział, że będzie łatwo. Z czasem jednak, wszystko staję się łatwiejsze, chyba każdy z nas przez to przechodził. Nie przejmuj się wpadkami, zdarzają się one nawet najlepszym, jednak nie każdy wyciąga z tego wnioski. Bądź osobą, która uczy się na swoich i cudzych błędach oraz pilnuje, żeby nie popełniać ich w przyszłości.