Nommer correctement les choses est difficile. Très dur. Si vous le regardez dans l'autre sens, vous pouvez également considérer que cela signifie que les choses correctement nommées sont importantes. (Sinon, pourquoi auriez-vous passé l'effort à le nommer?)
Mais, parfois, les noms des choses ne sont tout simplement pas importants. C'est pourquoi nous avons des choses comme des fonctions anonymes ("lambdas"), par exemple: parce que parfois cela ne vaut pas la peine de nommer des choses.
Il existe de nombreux exemples où des noms de variables à lettre unique (ou très courts) sont appropriés:
i
, j
, k
, l
Pour les indices de boucle
k
et v
pour la clé et la valeur dans une carte
n
pour un nombre (par exemple en Math.abs(n)
)
a
, b
, c
Des objets quelconques (par exemple, max(a, b)
)
e
pour l'élément dans une for each
boucle générique
f
pour la fonction dans une fonction d'ordre supérieur
p
pour la fonction de prédicat dans un filtre
T
, T1
, T2
, ... pour les variables de type
E
pour les variables de type représentant le type d'élément d'une collection
R
pour une variable de type représentant le type de résultat d'une fonction
ex
pour l'exception dans une catch
clause
op
pour l'opération dans une carte ou un pli
- en ajoutant la lettre
s
pour indiquer le pluriel, c'est-à-dire une collection (par exemple ns
pour une collection de nombres, xs
et ys
pour deux collections arbitraires d'objets génériques)
Je ne les vois jamais utilisés dans d'autres langages de programmation!
Ils sont très courants dans à peu près tous les langages que je connais (et probablement aussi dans ceux que je ne connais pas). Haskell, F #, ML, Ruby, Python, Perl, PHP, C #, Java, Scala, Groovy, Boo, Nemerle, D, Go, C ++, C, vous l'appelez.