хороший один John Sheehan. Я всегда просто щелкнул правой кнопкой по корневой папке и выбрал черепаху-svn | журнал представления.
В C / C ++ используется известное соглашение об именах "make-stuff-up as-we-go-продвижение". В общем, единственное, что вы можете сказать о соглашении об именах стандартной библиотеки C / C ++, - это то, что в нем не используется верблюжий регистр (за исключением имен шаблонов STL C ++), используются имена классов и функций в нижнем регистре и (иногда ) использует подчеркивание для разделения слов. Но использование подчеркиваний больше похоже на C ++; В частности, C сокращает слова, например strlen
, memcpy
. Вероятно, это результат тенденции к использованию очень кратких имен для вещей на заре UNIX.
В стандартной библиотеке C есть четко определенные правила , которые вы должны соблюдать, чтобы избежать конфликта имен. Хотя я ничего не знаю о C ++.
Если вы думаете, что это беспорядок, вам следует проверить библиотеку PHP ...
Я думаю, что есть несколько групп, изобретенных в разное время разными людьми и использующих несколько разные соглашения: библиотеки C, потоки, строки, STL (контейнеры + алгоритмы + итераторы). У меня такое чувство, что последнее можно рассматривать как соглашение , которое устанавливает пример для таких вещей, как boost и именование C ++ 0x.
У меня нет ответа, но, по крайней мере, я не думаю, что C и C ++ используют одно и то же соглашение об именах.
Я не думаю, что существует название для любого набора соглашений об именах.
Соглашения об именах в стандартах C и C ++ различны, хотя и слабо связаны.
В частности, в библиотеке C ни одна функция или имя макроса не содержат подчеркивания (AFAICR), в отличие от библиотеки C ++.
Большинство соглашений об именах библиотек C контролировались прецедентами; он стандартизировал существующую практику (примерно по состоянию на 1984 год) с очень небольшим количеством изобретений (обработка локали через
является основной).
Библиотека C ++ также была основана на прецеденте, но другой набор прецедентов, и я думаю, что можно утверждать, что STL не использовался так широко до принятия стандартом, как функции в библиотеке C.