Хотя здесь я буду ссылаться конкретно на соглашения об именах в C ++ и Бьярне Страуструпе , в принципе я видел, что люди используют несколько схожие правила для других языков здесь и там.
Итак, основная идея заключается в том, что при чтении кода нужно различать стандартные типы от пользовательских типов . Например, Бьярн Страуструп предлагает
начальная заглавная буква для типов (например, квадрат и график)
который, учитывая, что
Язык C ++ и стандартная библиотека не используют заглавные буквы
позволяет достичь цели, указанной выше.
Но зачем нам это делать? Какова может быть цель различения стандартных и пользовательских типов?
Я не мог найти никаких рассуждений Бьярна Страуструпа по этому вопросу, и, кроме того, я сам думаю диаметрально противоположным образом. Я знаю, я знаю, "Кто я такой, чтобы оспаривать Страуструпа?" Но, слушайте, куча возможностей языка C ++, например, перегрузка операторов, служит для того, чтобы пользовательские типы имели такой же уровень синтаксической поддержки, что и стандартные типы. И тогда все это озадачено другой дисциплиной именования ...
PS Не говоря уже о том, что часто одного слова недостаточно, чтобы назвать класс, а слово, разделенное подчеркиванием, начинающееся с заглавной буквы, выглядит настолько иностранным.