Camelcase это: Стили написания составных слов в программировании
Стили написания составных слов в программировании
Перевод статьи Чейза Адамса «Most Common Programming Case Types».
Работая с компьютерами и, в особенности, занимаясь программированием, вы неизбежно столкнетесь с необходимостью давать названия чему-либо. Это одно из двух самых сложных дел в информатике.
Чтобы именование было успешным, самое главное – определиться со стилем написания составных слов. Это важно для поддержания последовательности в пределах одного проекта или рабочего пространства. Если вы занимаетесь созданием программного обеспечения, то в спецификации своего языка вы можете встретить указание на определенный стиль. Некоторые языки (в частности, Go) очень полагаются на ваше знание разницы между стилями и правильное их использование.
Прочитав эту статью, вы узнаете:
Самые распространенные стили написания составных слов:
- Camel case
- Snake case
- Kebab case
- Pascal case
- Upper case (в сочетании со snake case).
Как их использовать в следующих ситуациях:
- выбор названия файлов для компьютера (рекомендуемый мной подход)
- программирование на Go
- программирование на Ruby
- программирование на JavaScript
- программирование на Python
camelCase
camelCase должен начинаться со строчной буквы, а первая буква каждого последующего слова должна быть заглавной. Все слова при этом пишутся слитно между собой.
Пример camelCase для имени переменной camel case var – camelCaseVar.
snake_case
Чтобы писать в стиле snake_case, нужно просто заменить пробелы знаками подчеркивания. Все слова при этом пишутся строчными буквами. Можно использовать snake_case, смешивая его с camelCase и PascalCase, но, как по мне, при этом теряется сам смысл этого стиля.
Пример snake_case для имени переменной snake case var – snake_case_var.
kebab-case
kebab-case похож на snake_case, только в нем пробелы заменяются на дефисы. Слова также пишутся строчными буквами. Опять же, его можно смешивать с camelCase и PascalCase, но в этом нет смысла.
Пример kebab-case для переменной kebab case var – kebab-case-var.
PascalCase
В PascalCase каждое слово начинается с заглавной буквы (в отличие от camelCase, где первое слово начинается со строчной).
Пример PascalCase для переменной pascal case var – PascalCaseVar.
Примечание: этот стиль часто путают с camelCase, но это, тем не менее, отдельный стиль.
UPPER_CASE_SNAKE_CASE
В UPPER_CASE_SNAKE_CASE все слова пишутся заглавными буквами, а пробелы заменяются знаками подчеркивания.
Пример UPPER_CASE_SNAKE_CASE для переменной upper case snake case var – UPPER_CASE_SNAKE_CASE_VAR.
Как выбрать стиль написания составных слов?
Теперь, когда вы ознакомились с различными стилями, давайте рассмотрим примеры их использования для выбора названий файлов и для программирования на разных языках. Я буду указывать вариант, который, как мне кажется, является лучшим подходом.
Какого соглашения придерживаться, выбирая имена для файлов?
Совет: всегда snake_case
При выборе названий для файлов важно задавать вопрос: «Каков наименьший общий знаменатель?». Если у вас нет собственного мнения на этот счет, поделюсь своим опытом. Лучший результат у меня всегда получался при использовании snake_case. В этом случае название файла сохраняет читабельность и при этом вряд ли приведет к каким-либо проблемам в файловой системе.
Если вы пользуетесь Mac или работаете с пользователями Mac, будет хорошей идеей всегда использовать только строчные буквы. Файловая система Mac – HFS+, а поскольку она нечувствительна к регистру, то файлы «MyFile» и «myfile» не будут различаться.
Мой главный аргумент в пользу этого подхода связан с особенно коварным «багом», который я видел при запуске CI/CD (непрерывной интеграции/непрерывной доставки) кластера. Во время сборки проекта на React в работе CI возник сбой с сообщением «файл не найден: mycomponent. js». Разработчик божился, что этот файл был в исходниках проекта.
Я обнаружил, что они импортировали «mycomponenet.js», но файл назывался «MyComponent.js». Это ведь был проект на React, где для наименований компонентов файлов используется именно PascalCase. Поскольку HFS+ не различает регистры, файл «MyComponent.js» был успешно принят за «mycomponent.js», когда разработчик писал код (на Mac). Но когда выполнялась сборка на сервере CI (а он был на основе Unix), возник сбой, потому что система искала точное соответствие названия.
Соглашения Go
В Go критически важно быть внимательным к соглашениям о наименованиях. Этот язык определяет доступность переменной, поля или метода для вызова исходя из того, со строчной или заглавной буквы начинается имя.
- PascalCase обязателен для экспортируемых полей и методов.
- camelCase обязателен для внутренних полей и методов.
[code]package casetypes
type ExportedStruct {
unexportedField string
}[/code]
В этом примере ExportedStruct доступен для пакетных вызовов для casetypes, а unexportedField доступен только для методов ExportedStruct.
Соглашения JavaScript
- camelCase для переменных и методов.
- PascalCase для типов и классов.
- UPPER_CASE_SNAKE_CASE для констант.
Соглашения React
У меня довольно большой опыт программирования на React, к тому же он довольно уникален, поэтому заслуживает своего подраздела:
- PascalCase используется для названий компонентов и файлов.
Соглашения Ruby
- PascalCase используется для классов и модулей.
- snake_case – для символов, методов и переменных.
- UPPER_CASE_SNAKE_CASE – для констант.
Соглашения Python
Другие соглашения
- kebab-case в Lisp.
- kebab-case в HTTP URL (most-common-programming-case-types/).
- snake_case в ключах свойств JSON.
Таблица для быстрого сравнения
Стиль написания | Пример |
Исходное написание имени переменной | some awesome var |
Camel Case | someAwesomeVar |
Snake Case | some_awesome_var |
Kebab Case | some-awesome-var |
Pascal Case | SomeAwesomeVar |
Upper Case Snake Case | SOME_AWESOME_VAR |
Теперь, зная самые распространенные стили написания, вам будет легче определиться, какой использовать при написании своего кода!
camelCase против under_score / Хабр
В настоящее время существует много стандартов наименования переменных, но два из них являются наиболее популярными среди программистов: это camel case («Верблюжья» нотация) и underscore (именование переменных с использованием символа нижнего подчеркивания в качестве разделителя). Кто-то может возразить, что существуют и другие популярные стандарты, но в рамках данной статьи мы сравним эти два, и узнаем у программистов — какого стандарта придерживаются они. Конечно, некоторые программисты связаны рамками стандартов кодирования языка или фреймворка, который они используют, но мы постараемся сделать независимое сравнение.
Стандарт наименований с использованием нижнего подчеркивания заключается в том, что все слова записываются строчными буквами и разделяются символом нижнего подчеркивания (_). Обычно этот стандарт используется в названиях функций и переменных, а для названий классов, структур, интерфейсов используется стандарт Pascal (прим. переводчика: почему-то в статье про него ничего не говорится, но как я нашел в википедии Pascal style это UpperCamelCase, когда первое слово начинается с прописной буквы, пруф). Underscore изначально использовался программистами С, и потом был использован разработчиками С++ при наименовании ключевых слов и в библиотеке STL, а затем и в Boost, из-за чего данный стандарт приобрел большую популярность среди программистов С++, но не стал доминирующим. Также данный стандарт используется в названиях стандартных функций PHP, и является очень популярным среди PHP-программистов. Говорят, что в Руби тоже используется нижнее подчеркивание.
С другой стороны, верблюжья нотация является стандартом в языке Java и его младшей сестре JavaScript, хотя ее можно встретить также и в других местах. Согласно этому стандарту, все слова в названии начинаются с прописной буквы, кроме первого. При этом, естественно, не используется никаких разделителей вроде нижнего подчеркивания. Обычно данный стандарт применяют к именам функций и переменных, при этом в именах классов (структур, интерфейсов) используется стандарт Pascal. В языке С# camelCase используется частично: область его применения ограничена названиями параметров функций и локальными переменными.
Каждый из этих двух стандартов имеет свои сильные и слабые стороны. Давайте перечислим основные:
- Нижнее подчеркивание лучше читается: сравните стандарт_с_нижним_подчеркиванием и стандартНаписанияПрописнымиБуквами
- Зато camel case делает более легким чтение строк, например:
my_first_var=my_second_var-my_third_var
и
myFirstVar=mySecondVar-myThirdVar
Очевидно, что camel case читается лучше: в случае с нижним подчеркиванием и оператором «минус» выражение с первого взгляда вообще можно принять за одну переменную, однако подсветка синтаксиса может решить эту проблему. - Camel Case является противоположностью английского, русского и многих других языков: в обычных языках предложение начинается с большой буквы, а все остальные слова пишутся строчными, в случае с camel case же все происходит наоборот. Это настоящий взрыв мозга
- Подчеркивание сложнее набирать. Даже при наличии intellisense, во многих случаях необходимо набирать символ нижнего подчеркивания.
- Camel Case непоследователен, потому что при использовании констант (которые пишутся целиком заглавными буквами) нам приходится использовать нижнее подчеркивание. С другой стороны, стандарт именования с использованием нижнего подчеркивания может быть полным, если вы решите использовать в названиях классов (структур, интерфейсов) нижнее подчеркивание в качестве разделителя
От переводчика: статью старался переводить максимально близко к оригиналу.
От себя добавлю, что в своих проектах предпочитаю использовать Camel Case, только в качестве первого слова использую сокращенный тип переменной (bProductActive, iProductsCount, sUserName), таким образом несколько решается проблема «взрыва мозга» — все слова предложения начинаются с заглавной буквы.
Кроме того, с коллегами очень много споров было на тему аббревиатур при использовании верблюжьей нотации: как писать правильнее GenerateHTMLFromText или GenerateHtmlFromText, в итоге остановились на втором варианте, но чувство нерешенной проблемы все равно немного грызет.
Ну и насчет того, что JavaScript это младшая сестра Java автор немного нагнал, все-таки это совершенно разные языки, общее у них только название и стандарты оформления кода.
CamelCase — это… Что такое CamelCase?
У этого термина существуют и другие значения, см. Camel.
CamelCase (рус. Верблю́жийРеги́стр, также Горба́тыйРеги́стр, Сти́льВерблю́да) — стиль написания составных слов, при котором несколько слов пишутся слитно без пробелов, при этом каждое слово пишется с заглавной буквы. Стиль получил название CamelCase, поскольку заглавные буквы внутри слова напоминают горбы верблюда (англ. Camel).
Примеры
CamelCase-вывеска
Примеры CamelCase-написания: BackColor, backColor, CamelCase.
Иногда встречаются также следующие названия этого стиля:
|
|
|
|
Различают два варианта CamelCase-написания в зависимости от того, прописная или строчная первая буква: UpperCamelCase (PascalCase) и lowerCamelCase.
Применение
CamelCase
CamelCase широко используется в языках программирования:
- В языке Java принято использовать UpperCamelCase для наименования классов и lowerCamelCase наименования экземпляров классов и методов.
- В Microsoft .NET принято использовать UpperCamelCase для наименования классов и методов.
Использование CamelCase стиля в коде программы определяется личным вкусом программиста, если проект невелик по размеру. В крупных проектах, как правило, существует специальный документ, определяющий правило создания имён (переменных, функций, констант и проч.) для всех участников проекта.
Некоторые среды разработки (например, Qt Creator) предоставляют возможность автозаполнения по заглавным буквам при использовании CamelCase (sCM → setContentMargins).
Принято считать альтернативным способом создания имён в программном коде стиль_через_подчёркивание (или через-дефисы, в Лиспе). Тем не менее стили можно смешивать (например: среднее_КоличествоЯблок), поскольку стили создания имён всего лишь условная договорённость и никак не влияют на работу программы.
Собственно стили появились из-за того, что в коде программы желательно иметь осмысленные имена переменных (описывающие смысл содержащегося в переменной значения), но не слишком длинные, а правила синтаксиса языков программирования налагают ограничения на средства для создания имён (к примеру, в большинстве языков допускается использование только буквенных символов, цифр и знака подчёркивания).
В некоторых wiki-движках используются CamelCase-ссылки (текст в CamelCase-стиле автоматически отображается как ссылка на другую wiki-страницу). К таким движкам относятся, например, MoinMoin, TWiki, JSPWiki и FlexWiki.
См. также
В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка установлена 28 июня 2010. |
CamelCase, snake_case и другие регистры | Жизнь — это движение! А тестирование
CamelCase (с англ. — «ВерблюжийРегистр») — стиль написания составных слов, при котором несколько слов пишутся слитно без пробелов, при этом каждое слово внутри фразы пишется с прописной буквы. Стиль получил название CamelCase, поскольку прописные буквы внутри слова напоминают горбы верблюда.
Регистр CamelCase обычно используется внутри кода для названия переменных.
snake_case (с англ. — змеиный_регистр) — стиль написания составных слов, при котором несколько слов разделяются символом подчеркивания (_), и не имеют пробелов в записи, причём каждое слово обычно пишется с маленькой буквы — «foo_bar», «hello_world» и т. д.
Существуют некоторые модификации snake_case:
- Вариант, в котором вместо символа подчёркивания используется дефис — kebab-case, или lisp-case
- Вариант-модификация kebab-case, в котором каждое новое слово пишется с большой буквы — Train-Case
- Вариант, в котором все буквы слов пишутся в верхнем регистре — SCREAMING_SNAKE_CASE
Так называют переменные в базе данных. Хотя, конечно, разработчики сами решают, как будут называть переменные в коде, тут главное — договориться между собой
Посмотреть разницу можно в бесплатном приложении folks:
Letter case — обычный стиль написания, первая заглавная, остальные буквы в нижнем регистре
lower case — все буквы написаны в нижнем регистре
UPPERCASE — все буквы написаны в верхнем регистре (Его же называют «записано в капслоке» (CAPSLOCK)
Когда это нужно тестировщику
Для любой проверки на регистрозависимость. Например, когда вы тестируете REST-метод. Верно ли, что заголовки регистронезависимы? Это не опция по умолчанию, а сознательный выбор разработчика.
Важно понимать, что «Newparam» ≠ «newparam» ≠ «NewParam» ≠ «NEWPARAM».
Поэтому можно проверить разные варианты написания заголовков, чтобы посмотреть, что работает, а что нет.
PS — статья написана в помощь студентам моей школы для тестировщиков
Верблюжья нотация или нижние подчёркивания: научный подход
Если по странному стечению обстоятельств вы программист, который не беспокоится, использовать ли верблюжий регистр или нижние подчёркивания для обозначения переменных, то пришло время определиться. Постарайтесь выбрать независимо от соглашений по оформлению кода, привычки или типа идентификатора. Если вы пишите на Lisp и любите тире, просто проголосуйте за вариант, который вам больше понравился.
Проголосовали? Отлично! Теперь моя очередь провести некоторую работу и попытаться дать вам полу-научное обоснование того, какой стиль форматирования лучше всего подходит для программирования.
Честно говоря, такой код проще читать.
Я бы не написал этот пост, если бы не прочитал статью Коена «Tao of Coding». Как мой бывший коллега, он переманил меня на сторону нижнего подчёркивания. Толчком к финальному решению послужил ответ в одном из споров по поводу соглашений об именовании. Он дан в цитате слева. Так что же, это просто мнение или действительно факт?
Это вдохновило меня обратиться к научным источникам. Ведь должны были проводить какие-то исследования в этой области? И кое-что я действительно нашёл, но, как оказалось, не очень много. Для начала, на случай если вы ранее не участвовали в дискуссиях на эту тему, представлю существующие мнения и их опровержения. Если же вам нужны факты, то можете сразу переходить в третий раунд.
Раунд 1: Мнения
За нижние подчёркивания:
- Нижние подчёркивания больше всего похожи на естественное письмо. Пробелы просто заменяются подчёркиваниями. Яркий пример:
isIllicitIgloo
иis_illicit_igloo
. - Использование в константах. Нижние подчёркивания до сих пор незаменимы в именовании констант в верхнем регистре. Пример:
THIS_IS_CONSTANT
. - Аббревиатуры так же можно легко именовать в верхнем регистре. Пример:
TCP_IP_connection
иtcpIpConnection
. - Классы можно продолжать обозначать через верблюжий регистр, чтобы явно различать классы и идентификаторы/функции.
Спасибо тебе, Йосси Крейнин, за 2 последних пункта, обсуждённых в IHateCamelCase.
За верблюжий регистр
- Верблюжий регистр проще набирать, чем нижние подчёркивания.
- С верблюжьим регистром проще читать параграфы.
my_first_variable = my_second_variable - my_third_variable
сравните с
myFirstVariable = mySecondVariable - myThirdVariable
- Верблюжий регистр короче.
- Верблюжий регистр используется в соглашениях по оформлению кода в большом количестве языков и библиотек. (Вам нельзя было использовать этот аргумент в опросе!)
Раунд 2: Опровержения
Против нижнего подчёркивания
- Нижние подчёркивания выглядят ужасно, верблюжий регистр более изящен.
Против верблюжьего регистра
- Нижние подчёркивания не так уж и сложно набирать на клавиатуре. На самом деле, как программист, вы просто обязаны научиться печатать вслепую всеми десятью пальцами. В этом случае для вас не будет такой уж большой разницы, в каком стиле писать.
- Современные IDE и редакторы с подсветкой синтаксиса предоставляют готовые решения для того, чтобы отличать операторы от идентификаторов, например, выделяя их разным цветом. И для этого не нужно набирать их по-разному.
Раунд 3: Факты
При чтении краткого изложения исследовательской статьи возникает ощущение, что наука на стороне верблюжьей нотации.
Результаты показывают, что использование верблюжьей нотации позволяет всем, независимо от подготовки, точно распознавать идентификаторы, а те, кто привык читать в верблюжьем регистре способны распознавать идентификаторы в этом стиле быстрее, чем те, которые написаны с подчёркиваниями.
Существующие исследования
Исследования естественных языков в психологии показывают, что замена пробелов на другие символы или цифры негативно влияет на чтение. Однако затемнённые квадратики (похожи на подчёркивания) не оказывают существенного влияния на скорость чтения или точность распознавания отдельных слов. Удаление же всех пробелов замедляет чтение приблизительно на 10-20%.
Подготовка эксперимента
Эмпирическое исследование 135 программистов и не-программистов. Испытуемым нужно было корректно определить соответствующую фразу (не более трёх слов) из четырёх схожих вариантов. Измерялись следующие показатели:
- Точность: правильно ли выбрана фраза.
- Время нахождения ответа.
- Подготовленность: будут ли программисты выполнять задания лучше/хуже.
Результаты
- Верблюжья нотация имеет большие показатели по точности (шансы верного распознавания на 51.5% выше).
- В среднем на верблюжий регистр уходит на 0. 42 секунды больше, что на 13.5% дольше, чем на подчёркивания.
- Подготовленность не оказала какого-либо статистически значимого влияния на то, как стиль влияет на точность.
- Те, кто был лучше подготовлен, быстрее определяли идентификаторы в верблюжьем стиле.
- Тренировки на каком-либо одном стиле негативно влияют на скорость нахождения соответствующих фраз в других стилях.
Заключение
Взглянув на все результаты вместе, становится очевидно, что верблюжья нотация обеспечивает выигрыш как по скорости, так и по точности, при условии, что испытуемый уже привык применять этот стиль. Причём предварительная подготовка необходима только для скорости распознавания.
Обсуждение
Лично я считаю вывод ошибочным по нескольким причинам.
Точность не настолько важна в программировании. Под точностью имеется в виду способность различать похожие идентификаторы. Например, startTime
и startMime
. Это не типичный случай для программирования. Вдобавок, в современных IDE есть автодополнение и подсветка написанного идентификатора. Поэтому я считаю, что результаты (1) и (3) нерелевантны. Для заметки, мне верится, что корректность в верблюжьем регистре связана с медленным чтением. Когда тебе нужно больше времени, чтобы прочитать что-то, ты читаешь это аккуратнее.
Обсуждая возможные угрозы для точности, они упоминают следующее: «В сущности, весь тренинг проходил с верблюжьим регистром, было бы интересно изучить людей, натренированных использовать нижние подчёркивания.» С учётом этого результаты (4) и (5) выглядят необъективными. Разве не очевидно, что люди, привыкшие к верблюжьей нотации, будут хорошо в ней ориентироваться? И это точно имеет негативное влияние на «скорость поиска» в случае подчёркиваний.
Таким образом, остаётся только низкая скорость чтения в верблюжьем регистре (2). В среднем, чтение идентификатора в верблюжьем регистре занимает на 13,5% больше времени, чем с нижними подчёркиваниями. Умножьте это на весь объём кода, и вы узнаете моё мнение в войне между верблюжьей нотацией и подчёркиваниями!
Итак, каково ваше мнение сейчас? Снова постарайтесь выбрать независимо от соглашений, привычек или типа идентификатора.
Обновление Я обсудил очередное исследование в новом посте. Они воспроизвели исследование, и по их измерениям чтение идентификаторов в верблюжьей нотации занимает на 20% больше времени, и вдобавок, используя систему слежения за глазами, они выяснили, что идентификаторы в верблюжьем регистре требуют в среднем больше времени для фиксации глаз.
Перевод статьи «CamelCase vs underscores: Scientific showdown»
It may occur in the middle of a word for camel case, as in the name deAngelo. | Это может произойти в середине слова для случая верблюда, как в имени deAngelo. |
Camel case has been criticised as negatively impacting readability due to the removal of spaces and uppercasing of every word. | Случай верблюда был подвергнут критике как отрицательно влияющий на читаемость из-за удаления пробелов и прописных букв каждого слова. |
Package names are camel case excepting pragmata—e.g., strict and mro—which are lowercase. | Имена пакетов имеют регистр camel, за исключением pragmata-например, strict и mro-которые являются строчными. |
Camel case is often used for variable names in computer programming. | Регистр часто используется для имен переменных в программировании. |
Some programming styles prefer camel case with the first letter capitalised, others not. | Некоторые стили программирования предпочитают регистр camel с заглавной первой буквой, другие-нет. |
Some people and organizations, notably Microsoft, use the term camel case only for lower camel case. | Некоторые люди и организации, в частности Microsoft, используют термин camel case только для нижнего регистра camel. |
Pascal case means only upper camel case. | Падеж Паскаля означает только верхний регистр верблюда. |
The Smalltalk language, which was developed originally on the Alto, also uses camel case instead of underscores. | Язык Smalltalk, который первоначально был разработан на Alto, также использует регистр camel вместо подчеркиваний. |
Camel case is used in some wiki markup languages for terms that should be automatically linked to other wiki pages. | Camel case используется в некоторых языках разметки Вики для терминов, которые должны быть автоматически связаны с другими страницами Вики. |
Some wikis that do not use camel case linking may still use the camel case as a naming convention, such as AboutUs. | Некоторые Вики, которые не используют связывание с регистром camel, могут по-прежнему использовать регистр camel в качестве соглашения об именовании, например AboutUs. |
The NIEM registry requires that XML data elements use upper camel case and XML attributes use lower camel case. | Реестр нием требует, чтобы элементы данных XML использовать верхний регистр верблюд и атрибуты XML использовать нижний регистр верблюд. |
By omitting spaces, camel case does not have this problem. | Без пробелов, регистр не имеет этой проблемы. |
Другие результаты | |
On May 23, 2011, Camelot filed to dismiss their case, though the distribution group stated that they may refile the case in San Francisco. | 23 мая 2011 года компания Camelot подала заявление об отказе от своего дела, хотя дистрибьюторская группа заявила, что они могут повторно подать дело в Сан-Франциско. |
There has been one suspected case of panosteitis in a fast-growing six-month-old camel with a shifting leg lameness. | У быстро растущего шестимесячного верблюда с хромотой на подвижных ногах был обнаружен один подозрительный случай паностеита. |
стиль написания составных слов, при котором несколько слов пишутся слитно без пробелов, при этом каждое слово внутри фразы пишется с прописной буквы
1.
Применение
CamelCase широко используется в языках программирования:
- В Microsoft.NET принято использовать UpperCamelCase для именования классов и методов.
- В PEP8, руководстве по написанию кода на языке Python, стиль CamelCase предлагается к использованию для имён классов.
- В языке Java принято использовать UpperCamelCase для именования классов и lowerCamelCase — для именования экземпляров классов и методов.
- В языке Wolfram Language стиль CamelCase используется для именования переменных, функций и опций. При этом объекты, встроенные в язык, всегда именуются в стиле UpperCamelCase, а для объектов, создаваемых программистом, принято использовать lowerCamelCase.
Использование стиля CamelCase в коде программы определяется личным вкусом программиста, если проект невелик по размеру. В крупных проектах, как правило, существует специальный документ, определяющий правило создания имён для всех участников проекта.
Некоторые среды разработки например, Qt Creator предоставляют возможность автозаполнения по прописным буквам при использовании CamelCase sCM → setContentMargins.
Принято считать альтернативным способом создания имён в программном коде стиль_змеиный_регистр, через_подчёркивание, или его вариант шашлычный-регистр позвоночный-регистр с дефисами, используемый в Лиспе. Тем не менее стили можно смешивать например: среднее_КоличествоЯблок, поскольку стили создания имён являются лишь условной договорённостью и не влияют на работу программы.
Собственно стили появились из-за того, что в коде программы желательно иметь осмысленные имена переменных описывающие смысл содержащегося в переменной значения, но не слишком длинные, а правила синтаксиса языков программирования налагают ограничения на средства для создания имён.
В некоторых wiki-движках, особенно ранних, используются CamelCase-ссылки текст в CamelCase-стиле автоматически отображается как ссылка на другую wiki-страницу. К таким движкам относятся, например, MoinMoin, TWiki, JSPWiki, FlexWiki и DokuWiki.
Что такое Camelcase?
Обновлено: 06.03.2020, Computer Hope
Альтернативно известный как бикапитализация , бикапитализация , InterCaps , medial capitals и Pascal case , CamelCase описывает составное слово с заглавными буквами для разделения частей слова. Название отсылает к внутренним заглавным буквам, которые напоминают горбы на спине верблюда. Например, ComputerHope , FedEx и WordPerfect — все это примеры CamelCase.В компьютерном программировании CamelCase часто используется как соглашение об именах для переменных, массивов и других элементов. Например, $ MyVariable — это пример переменной, в которой используется CamelCase.
Примеры компьютерных слов CamelCase
В следующем списке приведены примеры компьютерных слов CamelCase ( UpperCamelCase ) в алфавитном порядке. Следующие слова являются названиями компаний или торговых марок.
Что такое lowerCamelCase?
Слова, начинающиеся со строчной буквы, за которой следует заглавная буква (e.g., iPhone) считаются словами в нижнем регистре. Ниже приведен список примеров компьютерных слов lowerCamelCase в алфавитном порядке. Следующие слова являются названиями компаний или торговых марок.
Вы пишете заглавную букву в начале предложения?
При написании предложения следует избегать слов нижнего регистра, например «iPad», в качестве первого слова в предложении. Однако, если этого нельзя избежать, следуйте правилам руководства по стилю, которое вы используете в своих письмах.Например, The Associated Press Stylebook упоминает заглавные буквы в слове lowerCamelCase в начале предложения. Однако в Чикагском руководстве по стилю упоминаются торговые марки, а названия компаний, начинающиеся со строчной буквы, должны оставаться строчными даже в начале предложения.
Computer Hope всегда пытается перефразировать любое предложение, начинающееся с нижнего регистра. Однако, когда это невозможно, он сохраняет строчную букву в слове lowerCamelCase, даже если оно находится в начале предложения.
Как преобразовать текст в CamelCase
Преобразование текста в CamelCase возможно с использованием единственного регулярного выражения, как показано в примере Perl ниже.
my $ camelcase = "Это тест";
$ camelcase = ~ s / ([a-z]) / \ u $ 1 / g;
В приведенном выше примере текст This is a test преобразуется в ThisIsATest .
Используйте инструмент преобразования ниже, чтобы преобразовать любой текст в CamelCase и другие формы преобразованного текста.
Инструмент для переоборудования
Паскаль, условия программирования, подчеркивание
Преобразователь футляров для верблюдов и змей
История CamelCase
Возможно, вы уже встречали несколько слов, например «FedEx» и «iPhone.Если вы заметили, некоторые буквы написаны заглавными буквами в середине самого слова. Эти слова кажутся необычными для общепринятого письма, но они принимаются, как и любой другой грамматический стандарт. У этих слов на самом деле есть название — Camel Case. История верблюжьих болезней насчитывает несколько веков, хотя сейчас это наиболее распространенное явление.
Тем, кто может не знать, что такое верблюжий футляр, не о чем беспокоиться. В этой статье мы собираемся определить, что это такое и как написано.Кроме того, мы также собираемся описать историю верблюжьего дела.
CamelCase Defined
Camel Case (стилизованный под CamelCase) — это соглашение о написании фраз или составных слов таким образом, чтобы они образовывали одно слово. Первая буква каждого слова пишется с заглавной буквы, чтобы каждое из слов, составляющих составной термин, можно было легко прочитать.
CamelCase также известен как верблюжьи заглавные буквы, двойные заглавные буквы и средние заглавные буквы, сам термин был получен из того факта, что образованные слова с заглавными буквами, по-видимому, напоминают горбы верблюда.Скажите, например, «PowerPoint». Две заглавные буквы похожи на горбы указанного животного.
Есть два типа CamelCase. У нас есть верхний регистр верблюда (стилизованный под UpperCamelCase), в котором первая буква вновь образованного слова находится в верхнем регистре. Несколько примеров этого включают слова «WordPerfect», «WikiWord» и сам термин «CamelCase». Нижний регистр верблюда (стилизованный как lowerCamelCase) известен тем, что его первая буква в нижнем регистре. Примеры: «iPhone», «iMac» и «iPod.”
История Camel Case
Как упоминалось ранее, CamelCase используется довольно давно. Однако в последнее время он стал известен только из-за его использования в компьютерных аппаратных средствах, программном обеспечении и торговых марках. Эта конвенция пережила многое с незапамятных времен. Мы постараемся разобраться в этом.
Применение в химии
CamelCase в основном использовался в химии для обозначения химических соединений и формул.В 1813 году шведский химик Берцелиус предложил представлять химические элементы одной или двумя буквами, первая из которых должна быть заглавной. Термин, используемый для этого соглашения, был медицинскими столицами.
Из-за предложения Берцелиуса мы не пишем символ хлорида натрия (обычно называемого солью) как Na Cl или NA CL. Вместо этого мы записываем формулу как NaCl. Хотя буквы написаны без пробелов, мы все равно можем прочитать это без каких-либо затруднений. В научном мире эта система письма используется и по сей день.Он используется в аминокислотных последовательностях белков и для обозначения неизвестных элементов.
Использование в товарных знаках
В начале двадцатого века медицинские заглавные буквы, используемые в химии, были приняты в товарных знаках и названиях компаний. Однако использование еще не получило широкого распространения. Некоторые примеры этих продуктов включают DryIce Corporation, CinemaScope, широкоэкранный формат фильмов, MisterRogers и VistaVision, среди других.
Использование в компьютерном программировании
Примерно в 1970-х и 1980-х годах использование медицинских заглавных букв было также принято в качестве альтернативного соглашения об именах идентификаторов в различных языках программирования.Например, на универсальном макро-процессоре (GPM) Кристофера Стрейчи программа включает идентификаторы с использованием прописных букв. К ним относятся «WriteSymbol» и «NextCh».
Распространенность и использование в основной массе
Использование CamelCase распространилось по всему компьютерному миру, хотя его происхождение неясно. Эта практика получила распространение в 1980-х и 1990-х годах. Это было тогда, когда персональный компьютер стал нарицательным.
Со временем это соглашение использовалось во многих названиях компаний.К 1990-м годам CamelCase уже стал обычным явлением. Многие из этих примеров действуют до сих пор. К ним относятся PolyGram (бывший крупный музыкальный лейбл), UnitedHealthCare (1977), MasterCard (1979), EchoStar (1980), BellSouth (1984), PageMaker (1985), HyperCard (1987) и HarperCollins (1990).
К концу 1990-х нижний футляр из верблюжьей ткани стал популярной тенденцией во многих брендах. Строчная буква «i», которая может означать Интернет, информация или интеллект, и «e», обозначающая электронное, стали префиксами к различным словам.Примеры этих слов включают eBay, iMac, eBox и iPod.
Чеканка CamelCase
Термин CamelCase появился только в 1990-х годах. До этого обычно использовался термин «медицинские столицы». В апреле 1990 года Ави Раппопорт использовал термин «InterCaps» для описания способа использования заглавных букв. В 1991 году Эрик С. Реймонд упомянул BiCapitalization, чтобы идентифицировать это.
Однако его нынешнее название использовалось только в 1995 году. В посте Ньютона Лав он упомянул, что из-за неровности стиля он сначала назвал его HumpyCase, а затем остановился на CamelCase.
Текущее использование
В настоящее время CamelCase используется по-разному. Например, вики-движки используют это соглашение в качестве настроек по умолчанию. Вот почему мы могли видеть такие термины, как «WikiWikiWeb», «TiddlyWiki» и «PmWiki».
Использование CamelCase в социальных сетях и микроблогах может уменьшить количество пробелов, в то же время позволяя разместить больше контента.
Многие из текущих программных идентификаторов также используют CamelCase для упрощения работы.К ним относятся sqlServer, oldHtmlFile и parseDbmXml. Эти идентификаторы используются в таких языках программирования, как VisualBasic, C и Java.
Аббревиатуры и акронимы, такие как академическая квалификация, также используют CamelCase. Например, у нас есть бакалавр и доктор наук.
CamelCase Определение
camelCase — это соглашение об именах, в котором первая буква каждого слова в составном слове пишется с заглавной буквы, за исключением первого слова. Разработчики программного обеспечения часто используют camelCase при написании исходного кода.
camelCase полезен в программировании, так как имена элементов не могут содержать пробелов. Соглашение об именах camelCase делает составные имена более удобочитаемыми. Например, myOneMethod легче читать, чем myonemethod.
Другие примеры camelCase перечислены ниже:
- newString;
- getNewString ()
- myVariableName;
Название camelCase (также «футляр для верблюда» или «футляр для верблюда») происходит от горба на верблюде, который обозначается заглавной буквой в середине составного слова. Слово camelCase может состоять из одной или нескольких заглавных букв.
camelCase против PascalCase
camelCase похож на PascalCase, в котором первые буквы всех слов в составном слове, включая первое слово, используются с заглавной буквы. Например, myFunction () в PascalCase будет MyFunction (). Программисты могут использовать любой регистр шрифта при написании исходного кода, поскольку это не влияет на синтаксис. Хотя каждый разработчик может выбрать свой предпочтительный стиль, некоторые языки программирования имеют стандартные соглашения об именах.Например, в Java рекомендуются следующие случаи:
- Классы: PascalCase — класс VectorImage {}
- Методы: camelCase — drawImage ()
- Переменные: camelCase — строка newImageName
ПРИМЕЧАНИЕ. PascalCase иногда называют «UpperCamelCase», тогда как стандартный camelCase можно указать как «lowerCamelCase». В последние годы разработчики отошли от этих терминов и вместо этого используют PascalCase и camelCase.
Обновлено: 1 октября 2020 г.
TechTerms — Компьютерный словарь технических терминов
Эта страница содержит техническое определение CamelCase.Он объясняет в компьютерной терминологии, что означает CamelCase, и является одним из многих программных терминов в словаре TechTerms.
Все определения на веб-сайте TechTerms составлены так, чтобы быть технически точными, но также простыми для понимания. Если вы найдете это определение CamelCase полезным, вы можете сослаться на него, используя приведенные выше ссылки для цитирования. Если вы считаете, что термин следует обновить или добавить в словарь TechTerms, отправьте электронное письмо в TechTerms!
Подпишитесь на информационный бюллетень TechTerms, чтобы получать избранные термины и тесты прямо в свой почтовый ящик.Вы можете получать электронную почту ежедневно или еженедельно.
Подписаться
Почему вы должны использовать верблюжий футляр для своих хэштегов — Pickle Jar Communications
Помните Сьюзан Бойл?
Победительница конкурса Britain’s Got Talent отметила выход своего четвертого альбома кампанией в Твиттере.
Кампания использует сбивающий с толку хэштег #susanalbumparty.
Вечеринка по поводу альбома Сьюзан? Вечеринка с анальной задницей Су?
Поклонники не знали, чего ожидать.
Недоразумение могло быть решено простым использованием верблюжьего футляра.С верхним регистром верблюда вводящий в заблуждение хэштег #susanalbumparty становится #SusanAlbumParty.
Четкость восстановлена. Обеспечиваются удобочитаемость и доступность.
Но есть ли такая же ясность в сфере образования?
Что такое верблюжий футляр?
Верблюжий регистр — это практика использования заглавной буквы каждого слова при написании составных слов или фраз, за исключением первого слова. Примеры включают:
— eBay
— eBook
— iPhone
— macOS
— vCard
Если вы также хотите использовать первое слово с большой буквы, то это называется верхний регистр верблюда или паскаль.Например:
— BlackBerry
— ContentEd
— LinkedIn
— PlayStation
— YouTube
Это называется верблюжьим регистром (иногда стилизованным под camelCase), потому что заглавные буквы выше строчных. Это вызывает взлеты и падения визуального представления хэштега, напоминающего горбы на спине верблюда.
В настоящее время мы сталкиваемся с большим количеством составных фраз в Интернете из-за широкого использования многословных хэштегов в социальных сетях.
Это означает, что потребность в чемодане для верблюжьей шерсти сейчас как никогда высока.
Чемодан Camel улучшает доступность
Чемодан Camel является важным требованием доступности.
Программы чтения с экрана не могут идентифицировать отдельные слова в хэштеге без верблюжьего регистра. Это означает, что контент будет недоступен для пользователей программ чтения с экрана.
Это может быть значительная часть вашей аудитории. Многие люди используют программы чтения с экрана, в том числе:
— Слепые люди
— Люди с дислексией
— Люди с ослабленным зрением
— Люди, которые хотят облегчить чтение с экрана
— Люди, которым нравится опыт использования программы чтения с экрана.
Camel case сделает ваши хэштеги доступными для всех этих людей.
И многое другое, потому что…
Чехол Camel улучшает читаемость
Чехол Camel приносит пользу не только пользователям программ чтения с экрана.
Футляр Camel улучшает понимание и удобочитаемость для всех. Он предлагает ясную, легко читаемую информацию для нашей аудитории, чтобы облегчить им жизнь.
Это помогает:
— Людям, которые спешат,
— Людям с низким уровнем грамотности
— Людям, находящимся в состоянии стресса
— Людям, которые многозадачны
— Людям с низким уровнем владения английским
— Людям с когнитивными нарушениями.
Как показано в примере Сьюзан Бойл, мы не хотим заставлять нашу аудиторию останавливаться и думать, вызывая замешательство. Наши хэштеги должны быть полезными, а не мешать.
Случай верблюда в секторе образования
Но принят ли случай верблюда в секторе образования?
Я провел небольшое исследование рынка легких товаров, вдохновленный недавним взглядом моего коллеги на удобочитаемость в образовательном секторе.
Во-первых, я выбрал выборку из 10 университетов:
— Половина — университеты после 1992 года
— Половина — университеты Russell Group
— Все они географически разбросаны по Великобритании
— Все входят как минимум в 20 лучших одна таблица лиги Великобритании.
Во-вторых, я посетил их институциональные аккаунты в Instagram и Twitter. Я смотрел, использовался ли в их последних сообщениях регистр верблюда или верхний регистр при написании хэштегов.
Я обнаружил:
— Только один университет постоянно использовал футляр верблюда в Instagram
— Только два университета постоянно использовали футляр верблюда в Twitter
— Два университета иногда использовали футляр верблюда в Instagram
— Четыре университета иногда использовали футляр верблюда в Твиттере.
По общему признанию, это очень небольшая выборка сектора, но она показывает, что случай верблюда не повсеместно применяется при написании хэштегов.
Почему это могло быть?
Для написания хэштега в верблюжьем регистре не требуется дополнительных усилий, поэтому это не может быть проблемой ресурсов.
Таким образом, я предполагаю, что отсутствие случая с верблюдами связано с непониманием доступности социальных сетей.
Сделайте вашу доступность более доступной
Pickle Jar Communications будет рада сотрудничать с вами, чтобы улучшить вашу доступность в социальных сетях.
Мы можем предоставить ряд услуг:
— Проведение обучения доступности для вашего персонала
— Проведение аудита доступности ваших каналов
— Предоставление рекомендаций, которые помогут вам решить проблемы доступности
— Написание стратегии доступности для вашего учреждения
— Создание доступного контента для ваших каналов: копии, изображения, аудио, видео.
Если вы хотите создать присутствие в социальных сетях, поддерживающее удобочитаемость и доступность, мы будем рады услышать от вас. Пожалуйста, свяжитесь с нами.
А пока не забывайте использовать верблюжий футляр для хэштегов.
Или вы дадите своим последователям горб.
Стили футляра: футляр «Верблюд», «Паскаль», «Змея» и «Кебаб» | Патрик Дивайн
Самые популярные способы объединения слов в одну строку
Фото Оскара Йилдиза на Unsplash
TL;
- camelCase
- PascalCase
- snake_case
- kebab-case
Удаление пробелов между словами
В программировании мы часто удаляем пробелы между словами, потому что программы разных типов резервируют символ пробела (») для специальных целей . Поскольку пробел зарезервирован, мы не можем использовать его для представления концепции, которую мы выражаем на нашем человеческом языке несколькими словами.
В качестве примера, концепция счетчика входов пользователей не упоминается в нашем коде как счетчиков входа пользователей
часто. Мы не делаем следующее:
количество входов в систему = 5
При обычном синтаксическом анализе языка каждое слово рассматривается как отдельное понятие. Пользователь, логин и счетчик будут рассматриваться как отдельные вещи.Итак, мы делаем что-то вроде следующего:
userLoginCount = 5
Теперь парсер увидит одну концепцию, userLoginCount
, и мы, программисты, легко увидим ее представление.
Лучший способ сочетания слов
Лучшего способа сочетания слов не существует. В приведенном выше примере мы удалили пробелы и написали каждое слово после первого слова с заглавной буквы. Однако существует множество алгоритмов комбинирования слов и несколько очень распространенных.
Обычно используемые стратегии для комбинирования слов: верблюжий падеж, паскаль, змея и кебаб. Мы рассмотрим их здесь.
Camel Case (camelCase)
«три верблюда, стоящие на улице» от Ломбе Кабасо на Unsplash
Camel case объединяет слова, записывая все слова после первого слова с заглавной буквы и удаляя пробел, как показано ниже:
Raw: логин пользователя count
Camel Case: userLoginCount
Это очень популярный способ объединения слов в единое понятие.Он часто используется в качестве соглашения при объявлении переменных на многих языках.
Регистр Паскаля (PascalCase)
Регистр Паскаля объединяет слова, используя заглавные буквы всех слов (даже первое слово) и удаляя пробелы, как показано ниже:
Raw: количество входов в систему пользователей
Паскаль Case: UserLoginCount
Это также очень популярный способ объединения слов в единое понятие. Это часто используется как соглашение при объявлении классов на многих языках.
Snake Case (snake_case)
«коричневая змея» Дэвида Клод на Unsplash
Snake case объединяет слова, заменяя каждый пробел знаком подчеркивания (_), а в версии с заглавными буквами все буквы пишутся заглавными, как показано ниже:
Raw: количество входов в систему
Snake Case: user_login_count
Snake Case (All Caps): USER_LOGIN_COUNT
Этот стиль, когда он пишется с заглавной буквы, часто используется в качестве констант в объявлении на многих языках.В нижнем регистре он обычно используется при объявлении имен полей базы данных.
Kebab Case (kebab-case)
«барбекю на коричневой доске» от Pan xiaozhen на Unsplash
Kebab case объединяет слова, заменяя каждое пробел тире (-), следующим образом:
Raw: количество пользователей
Kebab Case: user-login-count
Этот стиль часто используется в URL-адресах. Например, www.blog.com/cool-article-1 . Это красивый, чистый, понятный для человека способ сочетания слов.
Что лучше?
Нет лучшего способа сочетания слов. Главное — соответствовать принятому соглашению и, если вы работаете в команде, вместе прийти к соглашению по соглашению.
спасибо за чтение!
Спасибо за чтение!
СПАСИБО_ЗА_ЧИТАТЬ_!
спасибо за чтение-!
Ура!
Что такое camelCase, PascalCase, kebab-case и snake_case?
Поскольку мы не можем определить такую переменную, как плодов в корзине
, потому что многие (или, возможно, все) языки программирования будут интерпретировать символ пробела как конец идентификатора и начало чего-то еще, нам нужно сделать что-то вроде плодов в корзине
.
Camel, pascal, kebab и snake case (и другие) — все это соглашения об именах, которые мы используем в компьютерном программировании, чтобы иметь возможность создавать составные имена для переменных, типов, функций, классов и других структур в исходном коде.
CamelCase
Правила таковы, что мы пишем все слова после первого с заглавной буквы.
Необработанный | camelCase |
---|---|
фрукты в корзине | фруктов В корзине |
имеет ошибку | hasError |
виден | isVisible |
Регистр Camel обычно используется для переменных и функций в JavaScript.
PascalCase
Здесь нужно писать все слова, включая первое, с заглавной буквы.
Необработанный | camelCase | PascalCase |
---|---|---|
фрукты в корзине | фруктов В корзине | Фрукты в корзине |
имеет ошибку | hasError | HasError |
виден | isVisible | IsVisible |
PascalCase часто предпочитают программисты на C.
кебаб-футляр
В этом случае мы добавляем тире между каждым словом, и все они в нижнем регистре.
Необработанный | camelCase | PascalCase | футляр для шашлыка |
---|---|---|---|
фрукты в корзине | фруктов В корзине | Фрукты в корзине | корзина фруктов |
имеет ошибку | hasError | HasError | имеет ошибку |
виден | isVisible | IsVisible | видимо |
Атрибуты HTML5 могут начинаться с data-
, например data-name
.Кроме того, CSS использует тире в именах свойств, таких как background-color.
футляр змея
В отличие от случая кебаб, для случая змеи мы добавляем подчеркивание.
Необработанный | camelCase | PascalCase | футляр для шашлыка | футляр змеи |
---|---|---|---|---|
фрукты в корзине | фруктов В корзине | Фрукты в корзине | корзина фруктов | фрукты_в корзине |
имеет ошибку | hasError | HasError | имеет ошибку | has_error |
виден | isVisible | IsVisible | видимо | is_visible |
Многие программисты используют символы подчеркивания, особенно в базах данных SQL, для таких вещей, как creation_date
, company_name
и т. Д.
Некоторые преимуществ , которые дают соглашения об именах:
- Последовательность. Поскольку присвоение имен чему-либо — одна из самых сложных задач программиста, по крайней мере, мы можем договориться о соглашении и быть последовательными в нем.
- Лучшее понимание. Составные имена намного лучше, чем одно слово или один символ, объясняют назначение структуры.
- Читаемость. Повышает возможность чтения кода.
- Автоматика. Позволяет использовать автоматизированные инструменты рефакторинга и поиска и замены.
CamelCase | журнал beanz |
Найджел Свалс на Flickr
Программирование программного обеспечения делает отличные вещи с языком, в данном случае смешивая заглавные буквы.
Как вы думаете, что легче читать: arrsomebigcollectionofdata или arrSomeBigCollectionOfData? Если вы читаете программный код достаточно долго, вы заметите, что везде прописные и строчные буквы. Что дает?
Это точно не секретный код, и нет никакого таинственного списка того, когда использовать заглавные буквы, а когда нет.Напротив, это пример того, как программисты решают техническую проблему — в данном случае, как сделать код читабельным — и находят интересный способ описать решение.
Использование заглавных и строчных букв называется CamelCase, где заглавные буквы используются в качестве горбов у верблюда. Его также называют BumpyCaps, HumpBack и еще несколько слов. Самый скучный технический термин — средние капители. По какой-то причине CamelCase застрял, несмотря на то, что во многих случаях используется гораздо больше заглавных букв, чем горбов у верблюда.
Есть также нижний регистр CamelCase, который начинается со строчной буквы, и верхний регистр CamelCase, который начинается с заглавной буквы.
Правила использования CamelCase устанавливаются тем, кто определяет общие стандарты программирования для проекта. Иногда эти стандарты определяются создателями используемого языка. Но в основном правила для CamelCase имеют тенденцию быть более низким CamelCase для имен переменных и верхним CamelCase для функций, методов и других блоков кода.
В некоторых случаях нижний CamelCase также используется для обозначения функций и методов, которые могут использоваться в любом месте кода (общедоступный), а верхний CamelCase — для блоков кода, которые могут использоваться только в другом блоке кода (частном).
Независимо от правил использование строчных и прописных букв помогает программистам понять роль имени в программном коде.
Узнать больше
Чемодан Camel
https://en.wikipedia.org/wiki/Camel_case
Соглашения об именах (программирование)
https://en.wikipedia.org/wiki/Naming_convention_(programming)
Генератор CamelCase
В чем суть соглашения о регистре переменных в нижнем регистре (например, thisVariable)?
https: // stackoverflow.