Jak nazywać zmienne, funkcje i klasy?
W tym artykule rozwiążemy jeden z najbardziej powszechnych problemów pisania kodu. Jest to nazywanie zmiennych, funkcji, metod oraz klas. Pokażę Ci, dlaczego nazwy mają takie znaczenie i jak dobre nazewnictwo ułatwi Ci pisanie kodu. Przedstawię Ci zasady, koncepcje oraz przykłady.
Nazwy muszą coś znaczyć
Ilekroć coś nazwiesz zmienną, funkcję czy klasę, nazwa powinna wyrażać znaczenie. Na przykład powinieneś wiedzieć co robi funkcja bez konieczności patrzenia w jej kod. Zobacz na poniższy kod:
Nie posiada wiele linijek, ale nie wiesz do końca co tutaj dzieje się. Mamy obiekt i coś procesujemy, login jest zmienną. Tylko tyle wiemy bez zaglądania w głąb funkcji. A teraz porównaj z poniższym czystym kodem kodem.
Jasno i wyraźnie widzimy, że program tworzy instancję użytkownika, następnie zapisuje i na koniec sprawdza czy jest zalogowany. W warunku if, możesz bez trudności ustalić, że zmienna jest typu boolean. I jak widać różnicę?
Tak więc wybór dobrych nazw w kodzie naprawdę ma znaczenie. Jeśli mamy dobrze nazwane funkcje oraz zmienne w naszym kodzie pozwalamy to pozwalamy sobie i innym czytać kod bez przechodzenia przez wszystkie szczegóły właśnie dlatego nazywanie zmiennych ma ogromne znaczenie.
Jak powinniśmy nadawać nazwy poprawnie?
Ok, inaczej nazywamy zmienne, inaczej metody, a jeszcze inaczej nazywamy klasy.
👉Zmienne i stałe, listy, tablice ( kontenery danych ) – nazwa powinna zawierać rzeczownik albo krótką frazę z przymiotnikiem.
Przykład
const userData;
const isValid; |
👉Funkcje/ Metody – nazwa powinna zawierać czasowniki lub skrót od przymiotnika.
Przykład
sendData()
inputIsValid() |
👉Klasy – nazwa powinna zawierać rzeczownik lub skrót od rzeczownika, który jasno wyraża, że tworzy określoną rzecz.
Przykład
class User()
class RequestBody() |
Nazwy Zmiennych, Funkcji i Klas Według stylu (4 podstawowe konwencje)
👉Konwencja nr. 1 snake-case
Przykład
is_valid
send_response |
Użycie: zmienne, funkcje metody
👉 Konwencja nr. 2 camelCase
Przykład
isValid
sendResponse |
Użycie: zmienne, funkcje metody
👉Konwencja nr. 3 PascalCase
Przykład
AdminRole
UserRepository |
Użycie: Klasy
👉Konwencja nr. 4 kebab-case
Przykład
<ng-container> |
Użycie: Głównie Tagi Html
Jak nazwać zmienną Boolean?
To proste, nazwij ją pytaniem zamkniętym typu PRAWDA/FAŁSZ
Przykład
isActive
loggedIn |
Jak nazwać funkcję, która zapisuje użytkownika do bazy?
beznadziejna nazwa – mało specyficzna nazwa, wręcz ogólna.
process()
handle() |
cudowna nazwa – przekaz jest czysty i wiesz o co chodzi.
saveUser()
user.store() |
Komentarze i formatowanie
Można by pomyśleć, że komentarze pomagają w czytelności kodu. W rzeczywistości jest odwrotnie, To właściwe formatowanie kodu bardzo pomaga w czytaniu i rozumieniu.
Złe komentarze
Istnieje wiele złych komentarzy, które możesz dodać do swojego kodu. Komentarz „zły” w najgorszym przypadku oznacza „zbędny” lub „zagmatwany” lub nawet „wprowadzający w błąd”.
Separatory i znaczniki są zbędne. Jeśli twój kod jest napisany w czysty sposób i jest oczywiste, o co chodzi w różnych częściach kodu. Nie potrzebujesz do tego dodatkowych znaczników, które sprawiają, że trudniejsze staje się analizowanie kodu.
Komentarze takie jak w tym przykładzie niczego nie dodają. Zamiast tego zatrzymujesz się i spędzasz czas na czytaniu – tylko po to, aby dowiedzieć się, co już wiesz.
Należy unikać komentowania zbędnego kodu. Zamiast tego: po prostu go usuń.
Korzystając z kontroli wersji (np. Git), zawsze możesz przywrócić stary kod, jeśli go potrzebujesz – Kod zakomentowany po prostu zaśmieca plik kodu.
Dobre komentarze
W rzadkich przypadkach dodanie dodatkowych wyjaśnień obok kodu pomaga – nawet jeśli nazwa zmiennej jest poprawna . Dobrym przykładem mogą być wyrażenia regularne:
Wyrażenia regularne nie są tak łatwe do odczytania, dlatego dodanie dodatkowego komentarza jest wskazane.
Warto również uznać TODO jako dobry komentarz.
Po przeczytaniu tego artykułu umiesz rozwiązać jeden z najbardziej powszechnych problemów pisania kodu. Umiesz nazywać funkcje, zmienne oraz klasy. Znasz podstawowe konwencje pisania czystego kodu. Jestem pewny, że zapamiętasz jak nazywać zmienne Boolean dodatkowo zapamiętaj jak prawidłowo stawiać komentarze.