Denominare correttamente le cose è difficile. Molto difficile. Se lo guardi dall'altra parte, puoi anche prendere questo per significare che le cose con un nome appropriato sono importanti. (Altrimenti, perché avresti speso lo sforzo per nominarlo?)
Ma, a volte, i nomi delle cose non sono importanti. Ecco perché abbiamo cose come funzioni anonime ("lambda"), per esempio: perché a volte non vale la pena nominare cose.
Ci sono molti esempi in cui i nomi delle variabili a lettera singola (o molto brevi) sono appropriati:
i
, j
, k
, l
Per gli indici di loop
k
e v
per la chiave e il valore in una mappa
n
per un numero (ad es. in Math.abs(n)
)
a
, b
, c
Per oggetti arbitrari (ad esempio in max(a, b)
)
e
per l'elemento in un for each
ciclo generico
f
per la funzione in una funzione di ordine superiore
p
per la funzione predicato in un filtro
T
, T1
, T2
, ... per le variabili di tipo
E
per variabili di tipo che rappresentano il tipo di elemento di una raccolta
R
per una variabile di tipo che rappresenta il tipo di risultato di una funzione
ex
per l'eccezione in una catch
clausola
op
per l'operazione in una mappa o piega
- aggiungendo la lettera
s
per indicare il plurale, ovvero una raccolta (ad esempio ns
per una raccolta di numeri xs
e ys
per due raccolte arbitrarie di oggetti generici)
Non li vedo mai usati in altri linguaggi di programmazione!
Sono molto comuni in quasi tutte le lingue che conosco (e probabilmente anche in quelle che non conosco). Haskell, F #, ML, Ruby, Python, Perl, PHP, C #, Java, Scala, Groovy, Boo, Nemerle, D, Go, C ++, C, lo chiami.