Jeżeli miałabym z perspektywy czasu ocenić treści, których najbardziej brakowało w programie moich studiów, dobre praktyki byłyby na pierwszym miejscu. Szczególnie widać to było po nazewnictwie zmiennych. Sięgając pamięcią wstecz, nie przypominam sobie żadnej znaczącej nazwy w swoich aplikacjach z czasów studenckich, jedynie całe rzesze "i", "xyz", "foo" i rozmaitego rodzaju magicznych liczb.
DLACZEGO NAZEWNICTWO JEST WAŻNE?
Poprawne nazywanie zmiennych jest po latach pracy z legacy code jak oddychanie - nie zastanawiam się nad tym, po prostu to robię, wiedziona instynktem przetrwania. Ktokolwiek utknął kiedyś w gąszczu kodu pełnego zabawnych zmiennych w stylu dupa2, foo - bar, chckCzyPrwd doskonale rozumie, o co mi chodzi.
Nazywanie zmiennych (i stałych!) zgodnie ze stanem faktycznym to zarazem dokładne opisanie danych, jakie w sobie niosą.
Kiedy piszemy kod, zazwyczaj jest on dla nas zrozumiały, ale stan ten nie trwa wiecznie i na pewno nie dotyczy osób innych niż twórca. Bardzo często przecież już następnego dnia rano nie jesteśmy pewni, co mieliśmy na myśli we wczorajszym commicie za pięć szesnasta. Nie wspominając o tym jakim węzłem gordyjskim potrafi stać się kod dziesięcioletni...
Wszystko sprowadza się do tego, że kod, o którego funkcji nie pamiętamy, musimy przeczytać i zrozumieć. Jest to o wiele łatwiejsze, kiedy zmienne, stałe i metody są nazwane zgodnie ze swoją rzeczywistą rolą.
O tym pisałam już wielokrotnie, ale powtórzę - programowanie jest w tej chwili sportem zespołowym. Nasz kod musi być czytelny - nie tylko dla nas, ale i dla wszystkich innych, którzy będą z nim pracowali w bliżej nieokreślonej przyszłości.
KONWENCJE
Ze względu na to, że poprawne nazwy zmiennych są często rozbudowane i złożone z kilku słów, a żaden (no, co najmniej większość) języków programowania nie dopuszcza używania w tym przypadku spacji, powstało wiele konwencji, które pomagają obejść ten problem.
Chyba najpopularniejszy obecnie, przynajmniej w JS, jest camelCase, gdzie pierwsze słowo zaczynamy z małej litery, a każde kolejne z dużej (np. czyNazwaZmiennejJestCzytelna).
W PascalCase każde słowo zaczyna się z dużej litery (CzyNazwaZmiennejJestCzytelna). Jest on często używany między innymi w języku C.
kebab-case najczęściej spotykamy w atrybutach HTML i CSS (czy-nazwa-zmiennej-jest-czytelna).
snake_case z kolei pojawia się powszechnie w SQL (czy_nazwa_zmiennej_jest_czytelna).
Używanie określonej konwencji ułatwia zachowanie jednolitych nazw w całym programie oraz znacząco zwiększa czytelność kodu.
ZASADY POPRAWNEGO NAZEWNICTWA
Przede wszystkim, co wynika już z powyższych akapitów, poprawna nazwa powinna być jasna i zrozumiała. Ulubionym argumentem autorów nieznaczących nazw zmiennych jest mniejsza liczba liter, ale szybkość pisania nigdy nie powinna być ważniejsza od stopnia zrozumiałości kodu.
Jednocześnie nazwy zmiennych powinny być możliwie zwięzłe i konkretne. Nie jest to z pewnością miejsce na kwieciste opisy.
Jak już zostało wyżej wspomniane, wartością dodaną jest z pewnością jednolitość przyjętej konwencji nazewnictwa w całym kodzie. Ułatwia po prostu orientację oraz zwiększa czytelność.
Jak się mają Wasze zmienne? Czy ich nazwy spełniają podane trzy złote zasady? Może już od czasów studenckich (techników) dbacie o czytelność kodu? A może jesteście w przeciwnym obozie?
>>> Teamwork w programowaniu <<<
>>> Nazewnictwo jest ważne! <<<
>>> Konwencje nazewnictwa <<<
>>> Poprawne nazwy zmiennych <<<
>>> Jak nazywać zmienne? <<<
>>> Foobar - definicja <<<
Komentarze
Prześlij komentarz
Komentarze są moderowane. Nie ma cenzury, bronię się przed spamem. :)