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.