Czystość kodu – najważniejsze informacje na temat tworzenia i utrzymywania czystego kodu

Kod pisany przez informatyka jest językiem. Jak w przypadku każdego języka obowiązują tu pewne zasady. Tworzenie czystego kodu jest tak samo ważne jak gramatycznie poprawne mówienie lub pisanie w języku naturalnym. Czystość kodu, jego przejrzystość – dobry programista stawia sobie za cel. Zasad czystego kodu można się nauczyć. Powiemy kilka słów o tym jak pisać czysty kod, a więc pozostawać w zgodzie z regułami sztuki i ułatwić sobie i innym pracę.

 

 

Czym charakteryzuje się czysty kod?

 

Utrzymywanie czystego kodu to jeden z podstawowych obowiązków dobrego programisty. Obowiązek ten jest również przyjemny i użyteczny. Przyjemny dlatego, że stosowanie reguł i konwencji czystego kodu to po prostu dobrze i solidnie wykonywana praca programistyczna, a użyteczność najwyraźniej ujawnia się, gdy tworzenie kodu zachodzi w grupie programistów, z których każdy musi siebie nawzajem “rozczytać”, a także wtedy, gdy sami zaglądamy do napisanego przez nas kodu po dłuższym czasie. Czystość kodu ma więc olbrzymie znacznie funkcjonalne. Tego jak pisać czysty kod uczymy się w czasie naszej edukacji informatycznej. Zasady czystego kodu każdy dobry programista powinien mieć “w małym palcu”.

Czystość kodu to jasność, zrozumiałość i elegancja. “Brudny kod” to nieporządek, nieczytelność i wielkie utrudnienie dla naszych współpracowników. Za każdym razem idzie o to, aby utrzymywać czystość kodu zgodnie z przyjętą konwencją i przestrzegać reguł syntaktycznych dla języka programowania, który stosujemy. Pomaga to zapobiegać wielu niespodziankom, a wszystkie aplikacje, urządzenia i inne agregaty interpretujące kod lepiej będą działać, jeśli napisany kod będzie czysty. Przyczyny pisania czystego kodu są więc oczywiste i nie wymagają dalszych objaśnień. Przejdźmy z kolei do podstawowych zasad utrzymywania kodu w czystości.

 

 

Jakie są podstawowe zasady tworzenia czystego kodu?

 

Uruchamiamy nasz edytor kodu – i co dalej? Reguły sztuki programistycznej nakazują trzymać się następujących zasad ogólnych:

  • czysty kod jest zwarty – funkcje i moduły są wyraźnie oddzielone i każda z nich odpowiada za wycinek części projektu
  • tworzenie czystego kodu to ma wspólnego z matematyką i równaniami fizyki, że od kodu wymagamy także elegancji (która może być rozumiana nawet jako walor estetyczny)
  • czysty kod to doskonała składnia, która wyszczególnia poszczególne wyrażenia kodu i czyni je możliwymi do odczytania dla każdego
  • jeżeli przyjęliśmy już daną konwencję zapisu – trzymamy się jej ściśle
  • tak jak podczas używania dowolnego języka – jeżeli chcemy być zrozumiani, to czystość kodu jest do tego celem

Przeciwieństwem czystego kodu jest nieład, nieporządek, chaos. Tego unikamy za wszelką cenę. Jeżeli bowiem czytamy jakąś książkę, to zrozumiemy jej treść tylko wtedy, gdy będzie napisana w znanym nam języku. Do tego właśnie służy czystość kodu: jego zwięzłość, wyraźność i precyzja. Dobry programista to taki, który zna i przestrzega zasad czystego kodu. Programista byle jaki wprowadza jedynie niepotrzebne zamieszanie.

 

 

Dlaczego warto utrzymywać czystość kodu w projektach?

 

Kod jest rodzajem wypowiedzi, komunikatu, który ma być zrozumiany i właściwie zinterpretowany. Gdy nie znamy języka chińskiego, wtedy spotkanie z Chińczykiem będzie polegało na komunikacji poprzez gesty takie jak uśmiech czy podanie dłoni, ale w rozmowie nie będziemy mogli poruszyć żadnych wyrażalnych w języku treści, zatem spotkanie takie może być serdeczne, lecz nie będziemy wiedzieli czy zdołaliśmy się porozumieć. Czystość kodu służy więc ostatecznie komunikacji, która jest tym lepsza, im kod jest czystszy. Zarówno maszyny (np. przeglądarka internetowa, która interpretuje kod) jak i ludzie (np. nasi współpracownicy w projekcie) żądają kodu możliwie czystego.

Zaczynamy od tak podstawowych spraw jak nadanie naszemu kodowi w edytorze odpowiednich podziałów, wcięć, używamy przyjętego w danym projekcie formatowania – żaden stawiany przez dobrego programistę znak nie może być przypadkowy. Wiersz kodu zawsze powinien zawierać tylko to, co konieczne. Bloki kodu powinny być wyraźnie oddzielone (jak kropka na końcu zdania). Linijki kodu czystego będą zrozumiałe, jeśli znajdą się w nich jedynie wyszczególnione wyrażenia. Spacje, klamry, nawiasy, znaki specjalne – dobry programista pisze je tak, aby zachować spójność i koherentność. Czysty kod rozpoznajemy po tym, że jak dobra poezja jest pewną całością znaczeniową, która została uporządkowana w przemyślany sposób.

 

 

Czystość kodu a praca w zespole

 

Podczas pracy zespołowej czystość kodu jest wręcz nieodzowna. Możemy przyjmować różne konwencje i metody zapisu, ale na pewien zestaw reguł musimy się zdecydować, aby ułatwić pracę sobie i innym członkom zespołu. W zespołach programistycznych każdy jego członek jest odpowiedzialny za fragmenty kodu, które zostają złożone w całość, a całość ta – mimo iż utworzona przez wiele osób – koniecznie musi być spójna. Zespół nie może pracować wydajnie, jeśli każdy jego uczestnik mówi innym dialektem, innym językiem. Przyjmujemy więc zbiór reguł zapisu, które zobowiązują do działania w edytorze kodu w sposób uporządkowany tak samo dla każdego programisty w projekcie. Zasady czystego kodu stanowią często jeden z dokumentów wewnętrznych firmy informatycznej i przed rozpoczęciem pracy musimy się z nimi zapoznać. Stosujemy więc odpowiednie nazwy, wyraźnie określamy argumenty, a jeśli do dyspozycji mamy wiele sposobów zapisu, to wybieramy jeden z nich i go stosujemy konsekwentnie.

 

 

Kilka rad, które pomogą Ci utrzymać czysty kod w projekcie

 

Tworzenie czystego kodu nie może obyć się bez właściwych komentarzy. Ułatwiają one nawigowanie po dużych fragmentach naszego dzieła. Pisanie czystego kodu nie powinno być jednak przeładowane komentarzami, korzystamy z nich tylko wtedy, gdy to konieczne. (Pomyśl o przypisach lub bibliografii w książkach, które pozwalają szybko dotrzeć do interesującej nas treści). Czysty kod jest także segmentowany, tzn. jednemu wyrażeniu odpowiada określona cząstka kodu, jednej funkcji jedna operacja przez tę funkcję wykonywana, itd. To trochę jak podział na rozdziały i podrozdziały w podręczniku. Błędem jest także rozwlekłość – staramy się być maksymalnie zwięźli. Jedną z zasad czystego kodu jest także to, że jest on prosty, nie zawiera wyrażeń nadmiarowych. Im krótszy zapis, tym lepszy. Tworzenie czystego kodu to także myślenie o przyszłości, ponieważ czysty kod pozwala łatwiej się modyfikować, gdy wystąpi taka potrzeba. Metoda powinna wykonywać określoną, jedną czynność, a stosowane nazewnictwo być spójne. Czysty kod jest jak mistrzowska partytura, z której nie można odjąć, ani do której nie można dodać nawet jednej nuty. Mierzymy więc w pewien rodzaj doskonałości i perfekcjonizmu. Ale ta sztuka jest także użyteczna i opłacalna.

 

 

Czystość kodu a cele przedsiębiorstwa

 

W przedsiębiorstwach przyczyną pisania czystego kodu jest to, że rozpoczynając pracę otrzymujemy kod od naszych poprzedników, a kończąc przekazujemy nasz kod następcom. Trudno sobie wyobrazić sytuację, że profesjonalista pisze taki kod, który jest trudny do modyfikacji. Wtedy aplikacje i systemy firmowe nie mogłyby być rozwijane i udoskonalane. Firmy zatrudniające programistów mają cele długofalowe, zatem czystość kodu służy temu, aby nawet po ustaniu zatrudnienia nasz kod mógł dobrze służyć innym. My sami także nie życzymy sobie pracować z niechlujnym kodem – chcemy utrzymania kodu w czystości. W przedsiębiorstwach jest to ważne ze względu na rozwój i planowanie. Zasady czystego kodu podawane w poszczególnych publikacjach lub wykładane na różnych uczelniach mogą niekiedy nieco się od siebie różnić, ale zawsze wspólnym mianownikiem pozostaje czytelność.