Właściwe nazywanie rzeczy jest trudne. Bardzo trudny. Jeśli spojrzysz na to z innej strony, możesz również wziąć to pod uwagę, że właściwie nazwane rzeczy są ważne. (W przeciwnym razie, dlaczego miałbyś tyle wysiłku nazwać to?)
Ale czasami nazwy rzeczy nie są ważne. Właśnie dlatego mamy takie funkcje jak anonimowe funkcje („lambdas”), na przykład: ponieważ czasami po prostu nie warto nazywać rzeczy.
Istnieje wiele przykładów, w których odpowiednie są jednoliterowe (lub bardzo krótkie) nazwy zmiennych:
i, j, k, lO indeksach pętli
koraz vdla klucza i wartości na mapie
ndla numeru (np. w Math.abs(n))
a, b, cO dowolnych obiektów (np max(a, b))
edla elementu w ogólnej for eachpętli
f dla funkcji w funkcji wyższego rzędu
p dla funkcji predykatu w filtrze
T, T1, T2, ... dla zmiennych typu
E dla zmiennych typu reprezentujących typ elementu kolekcji
R dla zmiennej typu reprezentującej typ wyniku funkcji
exdla wyjątku w catchklauzuli
op do operacji na mapie lub fold
- dodanie litery w
scelu oznaczenia liczby mnogiej, tj. zbioru (np. nsdla zbioru liczb xsi ysdla dwóch dowolnych zbiorów obiektów ogólnych)
Nigdy nie widzę ich używanych w innych językach programowania!
Są bardzo popularne w prawie każdym języku, który znam (i prawdopodobnie także w tych, których nie znam.) Haskell, F #, ML, Ruby, Python, Perl, PHP, C #, Java, Scala, Groovy, Boo, Nemerle, D, Go, C ++, C, nazywasz to.