Blog Dla Młodszych Programistów C#/.NET

Wbrew pozorom, praca programisty nie polega jedynie na pisaniu kodu. Choć jest to proces bardzo czasochłonny, to w rzeczywistości więcej uwagi poświęca się na czytaniu kodu, czy na szukanie błędów. Jest to zatem praca wymagająca od programisty uwagi, zaangażowania, ogromnych pokładów cierpliwości i skupienia. Bez tego nie można odnieść sukcesu w branży.

Pisz Dobrej Jakości Kod – Programiści Częściej Czytają Kod, Niż Piszą

Błędne wyobrażenie


Wiele osób, zanim zacznie pracę na stanowisku programisty, błędnie postrzega zadania i obowiązki przypisane do stanowiska. Dla większości osób praca ta sprowadza się do pisania kodu, którego wcześniej trzeba było się nauczyć. Na każde działanie, na każdy pomysł, jest określony kod, który wystarczy opanować, a później wprowadzić, by konkretna funkcjonalność działała bez większych problemów.

Programowanie to przede wszystkim rozwiązywanie pojawiających się problemów, a także tłumaczenie wymagań stawianych przez klienta na język, który będzie w pełni zrozumiały dla komputera. Można więc powiedzieć, że język programowania to jedyne narzędzie pozwalające na to, by określone myśli przekształcić na kod maszynowy. Jest to zestaw instrukcji, które będą w pełni zrozumiałe dla komputera. Programista ma możliwość tworzenia tego, co chce, by komputer wykonywał kolejne polecenia.

Warto podkreślić, że w programowaniu ważne jest także usuwanie błędów. Nie ma tutaj miejsca na awarie. Każdy błąd, nawet najdziwniejszy i najmniej typowy, ma swoją przyczynę. Jeśli kod się nie sprawdza, jeśli wskazane działania nie są wykonywane poprawnie, oznacza to, że gdzieś został popełniony błąd. Zadaniem programisty jest znalezienie tego błędu. Praca ta polega głównie na czytaniu napisanego kodu.

Często programista musi czytać kod, który nie działa, a został przygotowany przez kogoś innego. Czytanie i weryfikowanie poprawności cudzego kodu może być łatwiejsze. Jako, że własny kod się zna, często czyta się go pobieżnie i automatycznie, przez co wiele błędów można pominąć. W przypadku cudzych kodów, uwaga jest większa, a dzięki temu błędy można łatwiej wychwycić.


Ocena napisanego kodu


W pracy programisty ważne jest też tworzenie tzw. Pull Requestów. Sprowadza się to głównie do tego, by po zakończeniu implementacji danej funkcjonalności zebrać cały kod, a następnie pokazać go współpracownikom. Ich zadaniem jest ocena przedstawionego kodu, ustalenie jego mocnych stron oraz wskazanie błędów i zaproponowanie zmian, które zwiększą efektywność kodu.

Choć są do tego odpowiednie narzędzia, często trzeba to robić samodzielnie. W ten sposób zyskuje się większą kontrolę nad tym, co dzieje się w różnych częściach aplikacji, nad którym w danym momencie się pracuje. Należąc do zespołu trzeba liczyć się z koniecznością czytania nie tylko swojego kodu, ale też innych osób, które tworzą ten zespół.

Czytając kod napisany przez inne osoby zyskuje się też dodatkową perspektywę, którą można wykorzystać do własnych celów. Każdy programista kieruje się bowiem swoimi zasadami, ma swoje metody pracy. Czasem mogą się okazać bardziej przydatne lub efektywne, niż rozwiązania stosowane dotychczas. Niezależnie od tego, ile się ma czasu i jakie ma się podejście do danego zespołu, warto poświęcić więcej czas na to, aby przeczytać cudzy kod.


Do czego jest potrzebne czytanie kodu?


Chcąc efektywnie czytać kod warto sięgnąć również do literatury przedmiotu. Ta tematyka nie jest zbyt szeroko opracowana. Polecana jest książka autorstwa M. Feathersa pt.: "Praca z zastanym kodem. Najlepsze techniki". Uwzględnia ona kluczowe zasady, którymi warto kierować się przy czytaniu kodu. Czytanie kodu jest nauką, która pozwala na lepsze zrozumienie wybranego modelu rzeczywistości opracowanego przez innego programistę.

Jest to wymagający proces, który polega na poznawaniu struktur i algorytmów. Czytanie kodu jest też potrzebne do tego, by stworzyć nowy lub usprawniony kod. Mając do dyspozycji nie tylko wiedzę własną, ale również podstawy teoretyczne zaczerpnięte z książki autorstwa M. Feathersa, zdecydowanie łatwiej będzie wykonywać powierzone programiście obowiązki.


Nauka przez praktykę


Dobry programista to taka osoba, która chce i lubi się uczyć. Nie wystarczy jednak zdobywać wiedzę teoretyczną, chociaż to też jest ważne. Nie można skupiać się wyłącznie na realizacji kolejnych kursów czy też na czytaniu kolejnych książek. Przede wszystkim trzeba skupić się na praktyce. Konieczne jest zapoznawanie się z kodami, które już zostały napisane, w których gdzieś popełniono błędy. Czytając kod uczy się praktycznej strony programowania. Zyskuje się nie tylko potrzebne doświadczenie, ale także umiejętność skupienia uwagi i wychwycenia błędów – jeśli takie się pojawią.

Warto też od razu tworzyć swój pierwszy projekt. Nawet, jeśli będzie on wybrakowany, nie będzie spełniał wszystkich kryteriów. Na jego podstawie, poszerzając posiadaną dotychczas wiedzę, można go usprawniać i poprawiać. Odbywa się to głównie poprzez czytanie i weryfikowanie tego, co już udało się zrobić, dlatego tak ważne jest, by programista był od samego początku przygotowany na to, że jego praca nie będzie ograniczać się jedynie do pisania kodów.


Dbałość o czytelność i czystość


Jako, że obowiązkiem programisty jest nie tylko pisanie i czytanie własnych kodów, ale również tych, które zostały napisane przez innych, warto stosować się do kilku zasad.

Do najważniejszych z nich zaliczyć należy przede wszystkim:
  • Jedną konwencja obowiązująca w ramach całego projektu – szczególnie trudno jest to utrzymać przy dużych projektach, programista może nie zostać poinformowany o obowiązującej konwencji i zaczyna pisać projekt po swojemu, co wraz z rozrastaniem się projektu może wprowadzić wiele niespójności i problemów w poprawnym rozumieniu kodu,
  • Stosowanie odpowiedniego nazewnictwa – czytanie czyjegoś kodu wiąże się z koniecznością zapoznania się z nazewnictwem, tworząc czysty kod należy stosować takie nazewnictwo, które nie generuje dodatkowych problemów interpretacyjnych. Ważne jest, by nazwa klasy, funkcji czy zmiennej była nie tylko krótka i prosta, ale również, by dokładnie charakteryzowała jej przeznaczenie,
  • Jedna klasa/metoda – jedna odpowiedzialność – wielu młodych programistów decyduje się na tworzenie jednej, dużej klasy, która uwzględnia całą logikę tworzonego projektu. W tym przypadku o wiele trudniej jest usunąć błędy, ale również zmniejsza się możliwość prostego i efektywnego rozbudowanie kodu, dlatego zamiast długich i wielofunkcyjnych klas, warto stosować krótsze i bardziej czytelne rozwiązania,
  • Nie można zmuszać do myślenia – tworząc kod należy go przygotować w taki sposób, by osoba czytająca go nie musiała tracić dużo czasu na domysły, na ustalanie metod czy zasad, którymi posługiwał się programista. Bardzo trudno jest bowiem dotrzeć do sedna projektu, znaleźć w nim błędy czy usprawnić go, jeśli nie można go w pełni zrozumieć lub wymaga on dokładnego i wnikliwego zapoznania się z kodem.
Zasady te dotyczą tworzenia czystego kodu. Programista, który ich przestrzega, dba o to, by kolejne osoby, które będą kod czytać, bez trudu się w nim odnalazły. Ważne jest, by tworząc kod nie myśleć jedynie o sobie, ale też o innych, którzy będą musieli go przeczytać. Jeśli każdy stosowałby się do tej zasady, czytanie kodów byłoby bardziej przyjemną i łatwiejszą częścią pracy każdego programisty.


Podsumowanie


Chcąc częściej pisać niż czytać, warto od pierwszych etapów pracy uważnie stosować się do ustalonych zasad, do stosowania dobrych praktyk oraz pisać kod najwyższej jakości. Jeśli będzie się to robiło wolno, ale starannie i nie będzie się polegało wyłącznie na schematach, uniknie się błędów, a tym samym można będzie więcej czasu poświęcić na pisanie, niż czytanie. Nie jest to jednak zadanie łatwe. Wymaga dyscypliny, którą w pracy programisty bardzo trudno utrzymać.

To wszystkie na dzisiaj. Jeżeli taki artykuł Ci się spodobał, to koniecznie dołącz do mojej społeczności – darmowe zapisy, gdzie będziesz również miał dostęp do dodatkowych materiałów i przede wszystkim bonusów. Do zobaczenia w kolejnym artykule.

Poprzedni artykuł - Czy Programowanie Jest Trudne? Czy Każdy Może Zostać Programistą?
Autor artykułu:
Kazimierz Szpin
Kazimierz Szpin
Programista C#/.NET. Specjalizuje się w ASP.NET Core, ASP.NET MVC, ASP.NET Web API, Blazor, WPF oraz Windows Forms.
Autor bloga ModestProgrammer.pl
Dodaj komentarz

Wyszukiwarka

© Copyright 2022 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Polityka prywatności. Design by Kazimierz Szpin