Правильно називати речі важко. Дуже тяжко. Якщо ви дивитесь на це іншим способом, ви також можете вважати, що важливі правильно названі речі. (Інакше навіщо б ти витратив зусилля на його назва?)
Але іноді назви речей просто не важливі. Ось чому у нас є такі речі, як анонімні функції ("лямбда"), наприклад: адже іноді просто не варто цього називати.
Є чимало прикладів, коли одноіменні (або дуже короткі) назви змінних підходять:
i, j, k, lДля індексів циклу
kі vдля ключа та значення на карті
nдля числа (наприклад, в Math.abs(n))
a, b, cДля об'єктів довільної (наприклад , в max(a, b))
eдля елемента в загальному for eachциклі
f для функції у функції вищого порядку
p для функції предиката у фільтрі
T, T1, T2, ... для змінних типу
E для змінних типів, що представляють тип елемента колекції
R для змінної типу, що представляє тип результату функції
exза винятком у catchпункті
op для операції на карті чи в складку
- додаючи лист
sдля позначення множини, тобто колекції (наприклад, nsдля колекції чисел, xsі ysдля двох довільних колекцій родових об'єктів)
Я ніколи не бачу їх використання в інших мовах програмування!
Вони дуже поширені майже в усіх мовах, які я знаю (і, можливо, і в тих, кого я не знаю.) Haskell, F #, ML, Ruby, Python, Perl, PHP, C #, Java, Scala, Groovy, Boo, Nemerle, D, Go, C ++, C, ти його називаєш.