Соглашения об именовании в программировании
Соглашения об именовании делают код более читаемым и поддерживаемым. Различные языки программирования и сообщества имеют установленные стандарты для того, как называть переменные, функции, классы и другие идентификаторы. Это руководство объясняет основные соглашения и когда использовать каждое.
camelCase
camelCase — одно из наиболее распространенных соглашений об именовании в программировании. Он начинается с буквы в нижнем регистре, и каждое последующее слово начинается с заглавной буквы: firstName, getUserData, isActiveUser. Название происходит от горбов, создаваемых заглавными буквами в середине имени, напоминающих горбы верблюда. Это легко печатать, потому что не требует специальных символов вроде подчеркиваний или дефисов. camelCase широко используется в: JavaScript для переменных, функций и методов. Java для переменных и методов (классы используют PascalCase). TypeScript следует соглашениям JavaScript. C++ для имен членов в некоторых кодовых базах. Примеры хорошего camelCase: userName, calculateTotalPrice, isEmailValid, maxRetryCount, fetchUserData. Преимущества: не требует специальных символов, легко печатать, широко распространен, работает во всех языках программирования (дефисы не работают как имена переменных). Недостатки: может быть менее читаемым, чем snake_case для очень длинных имен, не визуально разделяет слова так четко, как подчеркивания, может быть неоднозначен для аббревиатур (HTTPRequest против httpRequest против HttpRequest). Лучшие практики: используйте описательные имена, не жертвуйте ясностью для краткости (getUserData лучше, чем getData или gUD), для аббревиатур рассмотрите трактовку их как слов (httpRequest) или сохранение заглавных для одно-буквенных (ioStream), будьте согласованны с существующей кодовой базой.
snake_case
snake_case использует подчеркивания для разделения слов в нижнем регистре: first_name, get_user_data, is_active_user. Слова "ползут" по земле, соединенные подчеркиваниями, как змея. snake_case — официальный стандарт в: Python (PEP 8) для функций, методов и переменных. Ruby для методов и переменных. Rust для функций и переменных. PostgreSQL и многие SQL базы данных для имен столбцов и таблиц. Конфигурационные файлы и переменные окружения (часто в верхнем регистре). Примеры: user_name, calculate_total_price, is_email_valid, max_retry_count, fetch_user_data. Преимущества: очень читаемо — слова четко разделены, не может быть спутано с арифметическими операторами (в отличие от дефисов), работает хорошо для длинных имен, легко визуально сканировать. Недостатки: требует больше нажатий клавиш, чем camelCase (клавиша shift для подчеркиваний), немного длиннее, чем camelCase для того же имени, может выглядеть менее современно для некоторых (субъективно). Вариация — SCREAMING_SNAKE_CASE (ВСЕ ЗАГЛАВНЫЕ с подчеркиваниями) используется для констант в большинстве языков: MAX_CONNECTIONS, API_KEY, DEFAULT_TIMEOUT. Лучшие практики: используйте последовательно во всем проекте Python/Ruby, используйте для имен столбцов базы данных для согласованности, используйте SCREAMING_SNAKE_CASE для констант во всех языках, избегайте смешивания со camelCase в одном файле — выберите одно.
Попробовать инструмент
Конвертер Регистра