Jaki powinien być dobry kod?

07/12/2022

5 minut czytania

Wielu wyobraża sobie, że praca programisty polega na pisaniu kodu. Otóż niekoniecznie. Programista przez zdecydowaną większość czasu czyta napisany już kod i go debuguje, czyli szuka błędów, a następnie próbuje je wyeliminować. Prawda ta jest tak znana, że środowisko programistyczne często nawiązuje do słów Christophera Thompson’a, który powiedział kiedyś, że „czasami bardziej opłaca się zostać w łóżku w poniedziałek niż spędzić resztę tygodnia, debugując poniedziałkowy kod”. Jak zatem powinien wyglądać dobry kod? I dlaczego napisanie go zgodnie z dobrymi praktykami, jest tak istotne? 

coding career success

Spis treści

Dlaczego dobre praktyki programowania są tak ważne?

Język norweski pozwala na sprawną komunikację, gdy odwiedzisz Oslo lub zawitasz do Bergen. Język migowy przyda się natomiast, gdy spotkasz na swojej drodze osobę niesłyszącą. Jak natomiast dogadać się z maszyną, by odpowiednio reagowała na Twoje komunikaty?

Niezbędne są do tego języki programowania, takie jak Java, JavaScript, Python, czy C#, za pomocą których napiszesz dobry kod. Różnica polega na tym, że o ile człowiek wybaczy Ci niewłaściwą odmianę czasownika, to maszyna nie jest już tak wyrozumiała.

Jeśli chcesz, aby aplikacja działała dokładnie tak, jak sobie to wyobrażasz, musisz przekazać jej bezbłędne polecenie. Nie jest to takie łatwe, dlatego to właśnie debugowanie zabiera tak dużo czasu. Tworząc kod, pamiętaj, że musi być on również zrozumiały dla człowieka, który w przyszłości będzie go usprawniać i na nim pracować. Warto zatem pisać kod zgodnie z tym, co mówią zasady dobrego programowania.

To właśnie zgodnie z nimi nasza szkoła programowania kształci Codecoolersów, dzięki czemu są oni tak pożądaną grupą specjalistów na rynku pracy.

Czym jest czysty kod?

Choć zasady dobrego programowania bywają różne, to w każdym zestawieniu króluje tak zwany czysty kod (ang. clean code). Jest on czytelny, uporządkowany, zrozumiały dla każdego programisty, prosty oraz oczywiście w pełni funkcjonalny i działający.

Mówi się bowiem, że napisanie działającego kodu to dopiero połowa sukcesu. Pełen sukces jest natomiast wtedy, gdy powstaje kod dobrej jakości. Jeśli natomiast umieszczono w nim niezrozumiałe nazwy zmiennych lub ukryte zachowania metod, każda próba wprowadzenia w nim zmian, grozi lawiną, w wyniku której spadnie funkcjonalność całej aplikacji.

Pamiętaj, że nawet jeśli coś jest zrozumiałe dla Ciebie teraz, może okazać się czarną magią, gdy wrócisz do tego za jakiś czas. Wielu doświadczonych programistów wspomina moment, w którym przyszło im po raz pierwszy zmierzyć się z kodem, który stworzyli na początku swojej kariery. Wtedy zależało im jedynie na tym, by kod działał, nie dbali o to, by był czytelny i napisany w zgodzie z tym, co mówią dobre praktyki tworzenia oprogramowania.

Zrozumienie brudnego kodu jest czasochłonne, a poprawianie go potrafi być niezwykle frustrujące. Nie dopuść zatem do tego, by programiści załamywali ręce, gdy przyjdzie im pracować na napisanym przez Ciebie kodzie.

Jeśli dopiero zaczynasz programować, zadbaj o to, by nauka programowania od zera prowadzona była pod okiem profesjonalistów, którzy już od początku zaszczepią w Tobie odpowiednie zasady pisania kodu, dzięki czemu będzie on prosty i zrozumiały.

Czytelny kod można bowiem rozpoznać po tym, że nie wymaga komentarzy. Gdy na niego patrzysz, doskonale rozumiesz, za co odpowiadają poszczególne elementy. 

Programmieren leernen

Leniwy programista na wagę złota

Choć brzmi to jak paradoks, to w branży programistycznej szczególnie cenni są leniwi pracownicy. Nie chodzi tu jednak o to, by pisać kody niechlujnie, mając nadzieję, że jakoś będą funkcjonować.

Ceniony, leniwy programista to taki, który kombinuje jak tu stworzyć działający kod, ale się zbytnio nie narobić. Takie podejście pozwala opracować skrajnie prosty kod, który z łatwością zrozumie maszyna, jak i przyszły programista, któremu przyjdzie usprawniać działanie aplikacji lub witryny. 

Bądź programistą z zasadami

Jeśli chcesz pisać czysty kod, podstawą są zasady SOLID, które opracował amerykański programista Robert Martin. O ich znajomość pytają przede wszystkim pracodawcy, którzy zatrudniają programistów z niewielkim doświadczeniem, pozwala im to stwierdzić, czy jesteś godnym uwagi kandydatem.

SOLID to pięć zasad, których przestrzeganie gwarantuje, że napiszesz dobry kod, który będzie zrozumiały i łatwy do przyszłej rozbudowy. Poznasz je i zastosujesz w praktyce również podczas prowadzonego w naszej szkole kursu programowania.

W Codecool silnie stawiamy bowiem na praktyczne kształcenie, dzięki któremu każdy absolwent naszego intensywnego kursu jest odpowiednio przygotowany do tego, by podjąć pierwszą pracę w zespole programistycznym u najlepszych pracodawców. Sprawdź, czego dotyczą zasady SOLID i jak wpływają na jakość kodu.

S – single responsibility principle

Single responsibility principle, czyli zasada pojedynczej odpowiedzialności dotyczy klas – każda z nich ma być odpowiedzialna za jedną rzecz. Co prawda w wyniku wprowadzenia tej zasady klas będzie bardzo wiele, ale dzięki temu są one znacznie prostsze w modyfikacji, niż gdyby było ich mniej, a każda klasa skupiałaby mnóstwo funkcji w setkach linijek kodu – tak rozbudowaną klasę nazywa się szwajcarskim scyzorykiem, który jest jednocześnie do wszystkiego i do niczego.

O – open/closed

Zasadę otwarty/zamknięty należy rozumieć w następujący sposób. Dobry kod musi być otwarty na przyszłą rozbudowę, na przykład na dodanie innych funkcji, ale bez konieczności modyfikacji klasy (jest zatem otwarty na rozbudowę, ale zamknięty na modyfikacje). Dlaczego to takie ważne?

Jeśli rozbudowa klasy będzie wymagała wprowadzenia zmian w dotychczas napisanym kodzie, istnieje ogromne ryzyko, że wystąpią katastrofalne awarie systemu.  

L – Liskov substitution

Liskov substitution, czyli zasada podstawiania Liskov dotyczy mechanizmu dziedziczenia. Zgodnie z tą zasadą klasy pochodne nie powinny nadpisywać metod wykorzystanych w klasach bazowych. Stosowanie tej zasady pozwala na alternatywną implementację jakiejś funkcji bez konieczności zmiany kodu. Łączy się to zatem z poprzednią zasadą Open/closed.

I – interface segregation

Zasada Interface Segregation, jak sama nazwa wskazuje, nakazuje rozdzielać interfejs klasy. Dzięki temu nie zostanie on utworzony z metodami, których dana klasa nie wykorzystuje. Istotne jest również odpowiednie jego zdefiniowanie.

Jeśli zignorujesz zasadę segregacji interfejsów, może dojść do sytuacji, w której dana klasa nie implementuje metody interfejsu, który został poddany rozbudowie. 

D – dependency inversion

To, że zasada odwracania zależności jest ostatnia, nie oznacza wcale, że jest mniej istotna. Wręcz przeciwnie – mówi ona o tym, by używać interfejsu polimorficznego.

Pisząc kod, zadbaj o to, by wysokopoziomowe klasy nie zależały od detali, które definiują niskopoziomowe klasy. Zamiast uzależniać je od danego typu, połącz je z ogólną abstrakcją. Klasy, które zawierają logikę biznesową, nie powinny bowiem zależeć od klasy niskiego poziomu, których znaczenie nie jest przecież tak duże.

Prezent dla programisty na różne okazje

Mamy dla Ciebie również kilka praktycznych wskazówek, które pomogą Ci wybrać przydatne i niedrogie gadżety dla programisty. Bazując na wieloletnim doświadczeniu, gwarantujemy, że nic nie kończy się tak szybko, jak przygotowana kawa lub herbata. Wyposaż zatem bliską Ci osobę w tematyczny kubek o pojemności minimum 500 ml –  na pewno przyda się podczas wielogodzinnego szukania błędów w kodzie!

Świetnie sprawdzi się również branżowa książka, wygłuszające słuchawki lub specjalistyczna podkładka pod nadgarstek (sprawdzi się ona nie tylko na święta, ale również jako prezent dla informatyka na urodziny, imieniny rocznicę lub na Dzień Programisty, który wypada 13 września. 

Na początku przygody z kodowaniem możesz uznać, że próby stworzenia czystego kodu, jedynie utrudniają i spowalniają programowanie. Dobre praktyki to jednak świętość dla każdego programisty, który chce odnieść sukces. Już teraz zapisz się do Codecool, aby pod okiem profesjonalistów opanować pisanie czystego kodu, który będzie zrozumiały, prosty, a jednocześnie otwarty na rozbudowę.

O nas

Codecool to miejsce, w którym zaczyna się Twoja kariera w IT. Daj się pokierować naszym profesjonalnym mentorom, skorzystaj z gwarancji pracy i odroczonej płatności.
Masz pytanie? Możemy pomóc! Podrzuć nam emaila na [email protected], albo napisz do nas na Facebooku.

Powiązane posty

Nauka w Codecool
Polski system nauczania ma swoje bolączki....
Сzym zajmuje się Junior i kim jest 10x Developer?
Przeglądając oferty pracy w branży programistycznej,...
Najlepsze gry 2022 roku – sprawdź naszą listę!
Wiemy już, która produkcja otrzymała miano...

Add meg elérhetőséged, és hamarosan visszahívunk!