Почему интенсивное использование аббревиатур в C / C ++?

В последнее время я читал о C и C ++ и не могу избавиться от ощущения, что программисты на C / C ++ используют аббревиатуры чрезмерно в именах переменных и функций. Я не вижу причины, почему это было бы полезно, так как оба являются скомпилированными языками. Практически весь код, с которым я сталкивался, использует аббревиатуру чаще, чем на других языках (мой личный опыт, конечно).

Таким образом, вопрос становится таким; Есть ли причина, почему вы хотите использовать сокращения в C / C ++? Существуют ли проблемы с производительностью при использовании более длинных имен переменных, или это просто соглашение?

РЕДАКТИРОВАТЬ: Похоже, я открыл здесь банку с червями. Я надеялся на ответ да / нет, а не на обсуждение стиля кодирования.

11

Решение

Это в основном конвенция.

Была некоторая историческая необходимость, так как ранние компиляторы C не гарантировали, что идентификаторы были значимыми для более чем 8 (или, может быть, даже 6) символов в некоторых случаях (вызывая MyFantasticFoo а также MyFantasticBar где компилятор считает его равным). Современные компиляторы не имеют таких жестких ограничений, смотрите этот ответ для деталей.

Сегодня я думаю, что это скорее проблема соглашения / стиля, код на C часто лаконичен.

14

Другие решения

Это похмелье с первых дней программирования — до того, как стало понятно, что сложная часть программирования — не написание кода, а его чтение.

6

Во-первых, я не думаю, что это общее правило; как Стив Джессоп
напоминает нам в комментарии, другие языки, такие как APL,
традиционно используют даже более короткие имена, и Фортран (по крайней мере, когда
Я использовал его) ограничил максимальную длину имени до шести.

Я думаю, что не только язык, но и домен. За
Например, программисты Unix, как правило, используют более короткие имена, чем Windows
программисты, несомненно, потому что системный API использует более короткие
имена (частично, по крайней мере, потому что Unix намного старше, и
более ранние линкеры не могли обрабатывать больше шести или восьми
символы — хотя это не объясняет creat вместо
create). Математика также имеет традицию сокращения
имена: используя такие имена, как index, скорее, чем i для индекса
при работе с математическими выражениями делает код Меньше
ясно и объяснительно, так как традиционный символ
Первый индекс по математике i, И многие другие домены имеют больше или
менее установленные аббревиатуры или сокращения: когда я работал
в телекоммуникациях, спецификация документа (от клиента) говорила о
ТП и СХ, а не точки завершения и пересечения
соединения; и в моей нынешней банковской среде, даже за пределами
программы никто бы не написал «кредитный своп по умолчанию» или
«обеспеченное долговое обязательство», а не просто CDS или CDO.
Так что если вы видите более короткие имена в C ++, это может быть потому, что
вы смотрите на код, который делает разные вещи, и приходит
из домена, где обычные сокращения, даже за пределами
среда программирования.

4
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector