Nazewnictwo w programowaniu – 20 cennych wskazówek

nazewnictwo w programowaniu

Czas na lekcję dobrych praktyk w programowaniu, dzisiaj będzie konkretnie o nazewnictwie. Post ten powstał na podstawie 2 rozdziału książki Roberta C. Martina “Czysty Kod” oraz moich własnych przemyśleń.

Nazewnictwo klas, funkcji, metod, zmiennych plików jest NIEZWYKLE ważne. To tak jak pisanie instrukcji obsługi, ale bez obrazków. Musimy dokładnie wyrazić o co nam chodzi. Warto poświęcić trochę więcej czasu na przemyślenie nazwy, to naprawdę pozwoli nam i innym programistom zaoszczędzić sporo czasu i nerwów.

  1. Nie bagatelizuj nazewnictwa.
  2. Postaw się w sytuacji programisty który będzie utrzymywał Twój kod. Wykrzesaj z siebie chociaż odrobinę empatii.
  3. Spójność to podstawa – warto przyjąć jedną konwencję i być konsekwentnym np. BEM
  4. KISS – Zasada Keep it Simple Stupid – czyli najprościej jak się da, bez zbędnych słów.
  5. Jeśli nazwa wymaga komentarza jest to zła nazwa.
  6. Nie używaj skrótów. Mogą one powodować nieporozumienia, ponieważ skróty często mają więcej niż jedno rozwinięcie.
  7. Uważaj na dwuznaczności słów, one też mają często więcej niż jedno znaczenie.
  8. Liczby też można nazywać! Nie każdy będzie wiedział skąd się wzięła i co robi cyfra “4” w Twoim kodzie. Będzie też łatwiej ją zlokalizować.
  9. Żarty, kolokwializmy, metafory – daruj sobie, jak wrócisz do kodu za dwa miesiące nie będziesz wiedział/a o co chodzi.
  10. Nie używaj jednoliterowych nazw. Są one trudne do wyszukania oraz nie wskazują na żaden kontekst. Wyjątek: jako zmienne lokalne w małych kawałkach kodu np. w liczniku pętli zmienna “i”.
  11. Nie mieszaj różnych języków! Polecam angielski, jest uniwersalny.
  12. Pamiętaj, że w niektórych czcionkach litery małe L i O łatwo pomylić z 1 i 0.
  13. Jeśli masz pomysł na lepszą nazwę, nie zastanawiaj się tylko ją zmień (ale nie w jednym miejscu – we wszystkich!).
  14. Unikaj nazw ze słowami jak “data”, “info”, “message” – sprecyzuj!
  15. Nazwy metod, funkcji to zwykle czasowniki (w stronie czynnej) lub wyrażenia czasownikowe. Czyli zwykle odpowiada na pytanie “co to robi”? Pomocne słowa: getSomething, setSomething, isSomething.
  16. Nazwy klas to zwykle rzeczowniki lub wyrażenia rzeczownikowe. Czyli zwykle odpowiada na pytanie “co to jest”?
  17. Jedno słowo na jedno abstrakcyjne pojęcie. Skąd będziesz wiedzieć jaka jest różnica pomiędzy: get, fetch albo retrieve?
  18. Jedno słowo na jedno zagadnienie. “Należy unikać używania tego samego słowa do dwóch celów”.
  19. Podczas code review zwracaj uwagę na nazewnictwo.
  20. Nie każdy element potrzebuje nazwy, jeśli jej nigdzie nie używasz nie zaśmiecaj nią kodu.
  21. Bonus: LITERÓWKI – bardzo na nie uważaj!

Zwracaj uwagę na nazewnictwo np. w popularnych bibliotekach. Zerknij na API jQuery i zobacz jakich oni nazw używają.  Po za tym ćwicz, ćwicz, ćwicz i proś innych o code review 

i pamiętaj:  

“Profesjonaliści piszą kod zrozumiały dla innych” Robert C. Martin

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.