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
, l
O indeksach pętli
k
oraz v
dla klucza i wartości na mapie
n
dla numeru (np. w Math.abs(n)
)
a
, b
, c
O dowolnych obiektów (np max(a, b)
)
e
dla elementu w ogólnej for each
pę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
ex
dla wyjątku w catch
klauzuli
op
do operacji na mapie lub fold
- dodanie litery w
s
celu oznaczenia liczby mnogiej, tj. zbioru (np. ns
dla zbioru liczb xs
i ys
dla 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.