Ostatnia aktualizacja:

3 września 2025

Opublikowano:

9 stycznia 2017

Jak komentować kod?

Jak komentować kod?

Dzisiaj chciałbym powiedzieć kilka słów o podejściu do komentowania kodu. Wielu początkujących programistów będzie zapewne pod wrażeniem, widząc kod zawierający komentarz na końcu każdej linijki, komentarze blokowe przed wybranymi fragmentami programu i oczywiście docblocki do plików, klas i metod w kodzie. Przyjrzyjmy się jednak temu zagadnieniu bliżej – czy na pewno kod powinien być tak mocno komentowany?

W tym artykule dowiesz się:
  1. Najważniejsze – nie „komentuj” własnego kodu
  2. Dlaczego nie „komentujemy” kodu
  3. Kiedy komentujemy kod
  4. Podsumowanie

Najważniejsze – nie „komentuj” własnego kodu

Dobrze napisany kod jest samokomentujący się i nie wymaga żadnych dodatkowych podpowiedzi autora dla osób, które w późniejszym czasie będą pracować nad danymi fragmentami. Używanie intuicyjnych (nawet dłuższych) nazw zmiennych, metod i klas, krótkie metody i praca na jednym poziomie abstrakcji w obrębie jednej klasy pozwala na swobodne zrozumienie fragmentów programu bez komentarzy. Lepiej jest wyrażać swoje intencje w kodzie poprzez jego odpowiednie pisanie niż opatrywanie go komentarzem. Weźmy pod lupę taki fragment:

//pracownik może posiadać multisport
$employee->isActive() && $emplyee->getMonths() > 3

Mógłby on być z powodzeniem zastąpiony przez wydzielenie tej logiki do osobnej metody:

$employee->isMultisportApplicable()

Pomocna podczas pisania programów może być ta sentencja:

„Don’t comment bad code – rewrite it.” (Brian W. Kerninghan and P. J. Plaugher)

Dlaczego nie „komentujemy” kodu

Powstaje oczywiście pytanie, dlaczego nie dodawać komentarzy do napisanych fragmentów kodu. Otóż komentarze są częścią kodu i wymagają takiej samej opieki jak kod. Kod z komentarzami jest chociażby dłuższy dlatego jego refaktoryzacja/przebudowa/rozwój jest trudniejszy. Przy refaktoryzacji kodu należy także zadbać o przeniesienie lub zmianę komentarzy odpowiadających refaktorowanym fragmentom programu. Przy rozwoju należy zwracać uwagę czy wstawiane nowe fragmenty kodu nie powodują np. że komentarze są w miejscu, które nie jest najbliżej fragmentu kodu, którego dotyczą. Źle umieszczony kod może być bezużyteczny dlatego lepszym rozwiązaniem jest samokomentujący się kod, który na pewno posiada odpowiednie wyjaśnienia w miejscu, w którym są potrzebne. Również nie powinniśmy komentować kodu “na przyszłość”. Taki zakomentowany fragment kodu będzie rodził dodatkowe pytania przy refaktoryzacji, debugowaniu lub rozwoju kodu.

Kiedy komentujemy kod

Oczywiście są sytuacje, które wymagają użycia komentarza.

  1. Mogą występować standardy w projekcie, które wymagają stosowania komentarzy do plików/klas/metod – nie dyskutujemy z takimi wymogami i po prostu stosujemy komentarze, pamiętając, że one również wymagają uwagi podczas zmian w kodzie;
  2. Wyjaśnienie kodu, który nie jest oczywisty na pierwszy rzut oka. Przykładowo do jakiego wzorca dopasowuje dany regexp;
  3. Wyjaśnienie intencji, które ciężko ująć w kodzie. Przykładowo dlaczego uznajemy pierwszy obiekt za większy od drugiego przy implementacji metody compareTo;
  4. Ostrzeżenie o konsekwencjach użycia danej funkcjonalności. Przykładowo w testach, które mogą czyścić bazę danych lub trwać dłuższy czas;
  5. Wyjaśnienie niuansów procesów biznesowych, które realizuje program;
  6. Komentarze TODO – w przypadku gdy w danej chwili nie jest możliwe wdrożenie pełni funkcjonalności z jakiegokolwiek powodu;

Przy komentowaniu kodu powinniśmy zdecydowanie zwracać uwagę na miejsce umieszczania komentarzy – im bliżej fragmentu kodu którego dotyczy komentarz tym lepiej. Podczas rozwoju kodu powinniśmy zwracać uwagę czy komentarze po zmianach w kodzie nie wymagają refaktoryzacji.

Podsumowanie

Jeżeli Twój kod nie wymaga komentarzy, prawdopodobnie jest to wynikiem dobrze wykonanej pracy i dobrej jakości kodu. Jeżeli uważasz, że wybrany fragment wymaga opatrzenia go komentarzem, to jest to pierwszy sygnał do zastanowienia się nad refaktoryzacją kodu – nie należy go ignorować, a skorzystać z szansy na refaktoryzację i polepszenie swoich umiejętności programistycznych.

Ostatnia aktualizacja:

3 września 2025

Opublikowano:

9 stycznia 2017

W tym artykule dowiesz się:
  1. Najważniejsze – nie „komentuj” własnego kodu
  2. Dlaczego nie „komentujemy” kodu
  3. Kiedy komentujemy kod
  4. Podsumowanie

Polecane artykuły

Kiedy Magento nie jest dla Ciebie dobrym rozwiązaniem?

Kiedy Magento nie będzie dla Ciebie dobrym rozwiązaniem?

Jest pewna praktyka wśród agencji e-Commerce, która budzi nasz autentyczny gniew. Mowa o wciskaniu na siłę klientowi technologii, w której akurat dana firma się specjalizuje. A decyzja o wyborze platformy powinna być motywowana wyłącznie potrzebami i możliwościami biznesowymi klienta agencji. Dlatego dziś pójdziemy pod prąd i pokażemy Ci przypadki, w których wdrożenie Magento, naszej flagowej […]

Czytaj więcej

AI zmienia e-Commerce szybciej niż myślisz. Przygotuj się na ruch agentów AI – Marcin Kamiński

AI nie jest już „nowym trendem”. To zmiana, która właśnie trwa - a większość firm wciąż nawet nie wie, że już je dotknęła. W tym odcinku rozmawiam z Marcinem Kamińskim, który jako jeden z pierwszych w Polsce mówi o ruchu agentowym - nowym źródle odwiedzin w e-Commerce, którego… nie widzisz w Google Analytics. Mówimy o tym: ➡️ jak AI i ChatGPT zmieniają sposób wyszukiwania i zakupów online, ➡️ dlaczego Twoją stronę coraz częściej odwiedzają boty, a nie ludzie, ➡️ jak przygotować się na zakupy bezpośrednio z ChatGPT, ➡️ i czemu przyszłość e-commerce to nie SEO, tylko SEO dla agentów AI. To rozmowa o tym, co wydarzy się szybciej, niż myślisz – i dlaczego teraz jest moment, żeby się przygotować.

Czytaj więcej
MySQL explain

MySQL – EXPLAIN – jak używać i jak czytać

W dzisiejszym wpisie będę omawiał użycie polecenia EXPLAIN w MySQL. Dowiemy się jak używać tego polecenia. W jakich sytuacjach może być przydatne, a także jak interpretować otrzymywane odpowiedzi. Dyrektywa EXPLAIN powoduje, że zamiast wykonywać zadane zapytanie zostaną wyświetlone informacje na temat planu wykonania danego zapytania. Do wersji MySQL 5.6.3 możliwe było użycie EXPLAIN tylko do zapytań SELECT. Najnowsze wersje MySQL wspierają dyrektywę EXPLAIN również […]

Czytaj więcej
Badania stron

Badania stron

Oferując określone produkty i usługi w Internecie, należy liczyć się z tym, że znajdą się firmy prowadzące działalność konkurencyjną. Nie jest to wcale zła informacja. Konkurencja potrafi pozytywnie stymulować rozwój firmy oraz polepszać poziom świadczonych usług, co w efekcie przekłada się na zadowolenie klientów. Aby skorzystać jak najwięcej na jej istnieniu, warto przeanalizować ich ofertę, […]

Czytaj więcej

Skontaktuj się z nami

Opowiedz nam o swoich ambicjach związanych z e-commerce i pozwól nam wspólnie je zrealizować.

Skontaktuj się z nami
Expert Consultation

Darmowa konsultacja