La corretta denominazione delle cose è difficile. Molto difficile. Se lo guardi dall'altra parte, puoi anche prendere questo per significare che le cose nominate correttamente sono importanti. (Altrimenti, perché avresti speso lo sforzo per nominarlo?)
Ma, a volte, i nomi delle cose solo non sono importanti. Questo è il motivo per cui abbiamo cose come le funzioni anonime ("lambda"), ad esempio: perché a volte non vale la pena nominarle.
Ci sono molti esempi, dove i nomi di variabili a lettera singola (o molto breve) 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 es. in max(a, b)
)
-
e
per l'elemento in un generico ciclo for each
-
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 le 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 clausola catch
-
op
per l'operazione in una mappa o piega
- aggiungendo la lettera
s
per indicare il plurale, ovvero una raccolta (ad esempio ns
per un insieme di numeri, xs
e ys
per due raccolte arbitrarie di oggetti generici)
I never see them being used in other programming languages!
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.