Правильно називати речі важко. Дуже тяжко. Якщо ви дивитесь на це іншим способом, ви також можете вважати, що важливі правильно названі речі. (Інакше навіщо б ти витратив зусилля на його назва?)
Але іноді назви речей просто не важливі. Ось чому у нас є такі речі, як анонімні функції ("лямбда"), наприклад: адже іноді просто не варто цього називати.
Є чимало прикладів, коли одноіменні (або дуже короткі) назви змінних підходять:
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, ти його називаєш.