В этой статье слишком много ссылок на первоисточники . ( Август 2015 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Змеиный регистр (стилизованный под snake_case ) относится к стилю написания, в котором каждый пробел заменяется символом подчеркивания (_), а первая буква каждого слова записывается строчными буквами. Это обычно используемое соглашение об именах в вычислениях , например, для имен переменных и подпрограмм , а также для имен файлов . Одно исследование показало, что читатели могут распознать ценность случая змеи быстрее, чем случай верблюда . [1]
История [ править ]
Использование подчеркиваний в качестве разделителей слов относится к концу 1960-х годов. Это особенно связано с C , которое можно найти в языке программирования C (1978), и в отличие от паскальского падежа (тип верблюжьего падежа ). Однако у соглашения традиционно не было конкретного названия: в руководстве по стилю языка программирования Python оно упоминается просто как «lower_case_with_underscores». [2]
В Usenet термин snake_case впервые был замечен в сообществе Ruby в 2004 году [3], который использовал Гэвин Кистнер, написав:
«Кстати ... как * * * вы называете этот стиль именования? Snake_case? Я так буду называть это, пока меня не исправят».
Однако бывший инженер Intel Джек Дальгрен заявил, что он использовал этот термин внутри компании Intel (и, возможно, в диалоге с инженерами Microsoft ) в 2002 году. [4] Возможно, этот термин был разработан независимо более чем в одном сообществе.
По состоянию на 2015 год [Обновить]имена для других соглашений об именах, разделенных разделителями, для идентификаторов из нескольких слов не были стандартизированы, хотя некоторые термины имеют возрастающие уровни использования, такие как lisp-case, kebab-case, SCREAMING_SNAKE_CASE и другие. [5] [6] [7]
Примеры [ править ]
Список языков программирования, которые обычно используют регистр змейки
- ABAP [8]
- C ++ , Boost [9]
- C для имен некоторых типов в стандартной библиотеке, но не для имен функций.
- Eiffel , для названий классов и функций [10]
- Эликсир , для имен атомов, переменных и функций [11]
- Erlang , для имен функций [12]
- GDScript , для имен переменных и функций [13]
- Java для статических конечных констант и значений перечисления.
- OCaml , для значений, типа и имен модулей [14]
- Perl , для лексических переменных и подпрограмм [15]
- Oracle SQL и PL / SQL , [16] для всех идентификаторов без кавычек (таблицы, столбцы, индексы, ограничения, переменные PL / SQL, константы, процедуры / функции, триггеры и т. Д.), Хотя и не являются официальными для самой Oracle, все же рекомендуются большинством известных "влиятельных лиц" и используется во всей официальной документации Oracle
- Все идентификаторы snake_case без кавычек фактически внутренне представлены как идентификаторы SCREAMING_SNAKE_CASE.
- Пролог , как для атомов (имена предикатов, имена функций и константы), так и для переменных [17]
- Python , для имен переменных, имен функций, имен методов и имен модулей или пакетов (т. Е. Файлов) [2]
- PHP использует SCREAMING_SNAKE_CASE для констант класса
- R , для имен переменных, функций, имен аргументов, особенно в стиле тидиверс [18]
- Ruby , для имен переменных и методов [19]
- Rust , для имен переменных, имен функций, имен методов, имен модулей и макросов [20]
- Tcl
См. Также [ править ]
- Случай верблюда , более распространенный в Java
- Футляр для кебаба , более распространенный в LISP
- Соглашение об именах (программирование)
Ссылки [ править ]
- ^ Шариф, Бонита; Малетик, Джонатан И. (2010). «Исследование слежения за глазами на стилях идентификаторов camelCase и under_score». 2010 18-я Международная конференция IEEE по пониманию программ (PDF) . С. 196–205. CiteSeerX 10.1.1.421.6137 . DOI : 10.1109 / ICPC.2010.41 . ISBN 978-1-4244-7604-6. S2CID 14170019 .
- ^ a b Гвидо ван Россум, Барри Варшава, Ник Коглан (05.07.2001). «PEP 0008 - Руководство по стилю кода Python» .CS1 maint: использует параметр авторов ( ссылка )
- ↑ Гэвин Кистнер (23 февраля 2004). «Надлежащее использование camelCase» . Группа новостей : comp.lang.ruby . Usenet: HBn_b.379957$xy6.2073499@attbi_s02 . Проверено 13 августа 2015 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Quora" . 2013-05-10.
- ^ "StackOverflow - Как называется snake_case с тире?" .
- ^ "Программисты - Если это CamelCase, что это?" .
- ^ "Camel_SNAKE-kebab" . 23 апреля 2020.
- ^ «Соглашения об именах в объектах ABAP» . help.sap.com . Проверено 28 июля 2020 .
- ^ «Требования и рекомендации по расширению библиотеки» . Проверено 13 августа 2015 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Классы Eiffel и названия функций» . 28 декабря 2019.
- ^ "Руководство по стилю Эликсира" . Май 2020.
- ^ «Правила программирования» . Проверено 11 августа 2017 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Руководство по стилю GDScript" .
- ^ "Xen wiki" . Проверено 15 марта 2017 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Дамиан Конвей (2005). Лучшие практики Perl . O'Reilly Media Inc. стр. 44 . ISBN 978-0596001735.
- ^ «Краткое руководство по некоторым источникам соглашений об именах для разработки баз данных Oracle» . stevenfeuersteinonplsql.blogspot.com . Проверено 30 декабря 2020 .
- ^ Майкл А. Ковингтон; Роберто Баньяра; Ричард А. О'Киф; Ян Вилемакер; Саймон Прайс (2009). «Рекомендации по кодированию для Prolog (v.3)». п. 14. arXiv : 0911.2899 [ cs.PL ].
- ^ Уикхэм, Хэдли. Руководство по стилю tidyverse .
- ^ «Соглашения об именах Ruby» . Май 2020.
- ^ «Именование - Руководство по Rust API» .
Внешние ссылки [ править ]
- Конвертер змеи