Jedyne krótkie nazwy na jakie pozwoliłbym sobie w programowaniu to i
jako licznik pętli, albo x
/y
jeśli mówimy o koordynatach. W żadnym innym wypadku (również w lambdach) nie używam takich zmiennych.
Wyjątkiem mogą być konwencje, tak jak w Pythonie w bibliotece pandas się przyjęło że DataFrame
to jest df
, albo w React/Vue, przyjęło się że funkcja renderująca to h()
. Wtedy to nie jest mój wybór, tylko stosuję się do konwencji, żeby nie zaciemniać kodu.
Ale pozostałe 99% przypadków, raczej używam jednego-dwóch słów na nazwę zmiennej.
To częste podejscie. Spotkałem się kiedyś z argumentacją, że przecież miejsca w repo starczy, nie musimy ograniczać rozmiaru pliku w bajtach, więc wielowyrazowe nazwy należy używać. Kompilator też to wytrzyma.
Moim zdaniem to jest kompletnie chybione podejście. Nadużywanie długich nazw jest złe nie dlatego, że brakuje miejsca w repo, albo ze zabraknie ramu przy kompilacji, tylko dlatego, że takie nazwy są nieczytelne.
f
- WTF, co to jest f
?
Foo
- OK, wystarczył jeden rzut oka, by mój mózg od razu wychwycił i zinterpretował wszystkie 3 literki
FooBarWithFizzBuzzFromBlahBlahYaddaThatQuacksAndBarks
- no niejstety mam tu zatrzymanie. Przetworzenie tego łąńcuszka zajmuje mi ładne sekundy. Ta nazwa wcale nie jest czytelniejsza.
A jeśli obok mamy dodatkowo jakieś
FizzBuzzWithoutFooBarFromBlahBlahYaddaThatQuacksButDoesNotBark
- to już w ogóle dramat, nie umiem rozróżnić obu na pierwszy rzut oka.
Która z tych nazw będzie odpowiednia, zależy od kontekstu. W lambdzie f
może wystarczyć. W polu globalnym może rzeczywiście trzeba pisać elaborat na wiele wyrazów.
Ale NIE(!) jest prawdą, że im dłuższa i bardziej opisowa nazwa, tym czytelniejsza. Conf
zamiast Configuration
często bywa czytelniejsze. IMO należy stosować nazwy najkrótsze możliwe, które jednak nie budzą wątpliwości odnoście znaczenia zmiennej.