В 1С:Предприятии, самой массовой платформе корпоративной автоматизации в России и СНГ, идентификаторы принято писать не на английском, а прямо на русском — но в PascalCase: ОбработкаДокумента, СправочникНоменклатура. Это не догма, а следствие того, что платформа с самого начала ориентировалась на бухгалтеров и экономистов, а не на программистов, знающих английский, — и camelCase/PascalCase как приём разбивки составного имени на слова оказался языково-независимым: он одинаково хорошо работает что с «UserName», что с «ОбработкаДокумента».
Основные стили
- camelCase — первое слово с маленькой буквы, каждое следующее с заглавной, без разделителей:
userName. Стандарт для переменных и функций в JavaScript, Java, C#. - PascalCase — то же самое, но и первое слово с заглавной:
UserName. Используется для классов и компонентов почти везде, включая конфигурации 1С. - snake_case — слова через нижнее подчёркивание, всё строчными буквами:
user_name. Стандарт Python и баз данных (названия колонок). - kebab-case — слова через дефис:
user-name. Стандарт для URL, CSS-классов и HTML-атрибутов, так как подчёркивание в URL менее привычно.
Почему регистр — это не просто эстетика
Сам по себе регистр букв не влияет на выполнение кода (кроме языков, чувствительных к регистру идентификаторов), но последовательность стиля критична для читаемости и для инструментов: линтеры, автодополнение в IDE и генераторы документации почти всегда ожидают конкретный стиль для конкретного типа сущности — и русскоязычные кодовые базы (та же 1С) следуют этому правилу ничуть не менее строго, просто с кириллическими словами внутри идентификатора.
Зачем нужна конвертация
- Перенос поля из JSON API (обычно camelCase) в название колонки базы данных (обычно snake_case).
- Переименование переменных при портировании кода из одного языка в другой с другой конвенцией.
- Генерация URL-совместимого slug или CSS-класса из текста заголовка, в том числе кириллического.
Неоднозначность с аббревиатурами
Идентификатор вроде userID или XMLParser ставит конвертер перед выбором: считать аббревиатуру одним «словом» или разбить её на отдельные буквы. Разные инструменты решают это по-разному — этот конвертер распознаёт последовательность заглавных букв как отдельное слово (XMLParser → XML + Parser), но результат стоит проверять вручную, если название сразу пойдёт в продакшн-код.