Jump to content

Змеиный случай

Кусок кода из модуля ядра Linux , использующего змеиный регистр для идентификаторов

Змеиный регистр (иногда стилизуемый автоматически как Snake_case ) — это соглашение об именах , в котором каждый пробел заменяется символом подчеркивания (_), а слова записываются строчными буквами . Это широко используемое соглашение об именах в вычислительной технике , например, для имен переменных и подпрограмм , а также для имен файлов . Одно исследование показало, что читатели могут распознать значение змеиного случая быстрее, чем верблюжьего . Однако «испытуемые обучались в основном в стиле подчеркивания», поэтому возможность предвзятости исключить нельзя. [1]

Разновидность — кричащий змеиный регистр , где слова пишутся заглавными буквами (стилизовано под SCREAMING_SNAKE_CASE). [2] Это соглашение используется для констант в таких языках программирования, как C / C++ , Python , Java , PHP , а также для переменных среды .

История [ править ]

Использование символов подчеркивания в качестве разделителей слов восходит к концу 1960-х годов. Он особенно связан с C , встречается в «Языке программирования C» (1978) и противопоставляется регистру паскаль (разновидность верблюжьего регистра ). Однако традиционно у соглашения не было конкретного названия: в руководстве по стилю языка программирования Python оно именуется просто как «lower_case_with_underscores». [3]

В Usenet термин Snake_case впервые появился в сообществе Ruby в 2004 году. [4] использовал Гэвин Кистнер, написав:

Кстати... как *вы* называете этот стиль именования? змея_кейс? Я так и буду это называть, пока меня кто-нибудь не поправит.

Однако бывший инженер Intel Джек Дальгрен заявил, что он использовал этот термин внутри компании Intel (и, возможно, в диалоге с инженерами Microsoft ) в 2002 году. [5] [ не удалось пройти проверку ] Вполне возможно, что этот термин развивался независимо более чем в одном сообществе.

По состоянию на 2015 год , имена для других соглашений об именах, разделенных разделителями , для идентификаторов из нескольких слов не стандартизированы, хотя некоторые термины имеют все более высокий уровень использования, например, lisp-case, kebab-case, SCREAMING_SNAKE_CASE и другие. [6] [7] [8]

Примеры [ править ]

Следующие языки программирования по соглашению используют змеиный регистр:

  • АБАП [9]
  • Ада , начальные буквы также пишутся с заглавной буквы. [10]
  • С++ , повышение [11]
  • C для некоторых имен типов в стандартной библиотеке, но не для имен функций.
  • Eiffel для имен классов и функций. [12]
  • Эликсир для имен атомов, переменных и функций. [13]
  • Erlang для имен функций [14]
  • GDScript для имен переменных и функций. [15]
  • Java использует SCREAMING_SNAKE_CASE для статических конечных констант и значений перечисления. [16]
  • Котлин использует SCREAMING_SNAKE_CASE для констант и значений перечислений. [17]
  • Магия
  • OCaml для значений, типов и имен модулей. [18]
  • Perl для лексических переменных и подпрограмм [19]
  • Oracle SQL и PL/SQL , [20] для всех идентификаторов без кавычек (таблиц, столбцов, индексов, ограничений, переменных PL/SQL, констант, процедур/функций, триггеров и т. д.), хотя это и не является официальным самой Oracle, но все же рекомендуется большинством известных «влиятельных лиц» и используется в официальной документации Oracle
    • Все идентификаторы Snake_case без кавычек фактически внутренне представлены как идентификаторы SCREAMING_SNAKE_CASE.
  • Пролог как для атомов (имена предикатов, имена функций и констант), так и для переменных. [21]
  • Python для имен переменных, имен функций, имен методов и имен модулей или пакетов (т. е. файлов). [3]
  • PHP использует SCREAMING_SNAKE_CASE для констант класса.
  • ПЛ/Я [22]
  • R для имен переменных, имен функций и имен аргументов, особенно в стиле tidyverse. [23]
  • Ruby для имен переменных и методов [24]
  • Rust для имен переменных, имен функций, имен методов, имен модулей и макросов. [25]
  • Ткл
  • Terraform (программное обеспечение) для ресурсов и переменных [26]
  • Зиг , для переменных [27]

См. также [ править ]

Ссылки [ править ]

  1. ^ Шариф, Бонита; Малетик, Джонатан И. (2010). «Исследование отслеживания движений глаз стилей идентификаторов CamelCase и Under_score». 18-я Международная конференция IEEE по пониманию программ, 2010 г. (PDF) . стр. 196–205. CiteSeerX   10.1.1.421.6137 . дои : 10.1109/ICPC.2010.41 . ISBN  978-1-4244-7604-6 . S2CID   14170019 .
  2. ^ «Змеиное дело» . Сеть разработчиков Mozilla . 8 сентября 2023 г. Проверено 10 ноября 2023 г.
  3. ^ Jump up to: Перейти обратно: а б Гвидо ван Россум; Барри Варшава; Ник Коглан (5 июля 2001 г.). «PEP 0008 — Руководство по стилю для кода Python» .
  4. ^ Гэвин Кистнер (23 февраля 2004 г.). «Правильное использование CamelCase» . Группа новостей : comp.lang.ruby . Usenet:   HBn_b.379957$xy6.2073499@attbi_s02 . Проверено 13 августа 2015 г.
  5. ^ «Квора» . 10 мая 2013 г.
  6. ^ «StackOverflow – Как называется Snake_case с тире?» .
  7. ^ «Программисты. Если это CamelCase, что это такое?» . Архивировано из оригинала 7 августа 2016 г. Проверено 13 августа 2015 г.
  8. ^ «Верблюд_ЗМЕЯ-кебаб» . Гитхаб . 23 апреля 2020 г.
  9. ^ «Соглашения об именах в объектах ABAP» . help.sap.com . Проверено 28 июля 2020 г.
  10. ^ «Руководство по программированию на языке Ada» .
  11. ^ «Требования и рекомендации по повышению библиотеки» . Проверено 13 августа 2015 г.
  12. ^ «Имена классов и функций Eiffel» . 28 декабря 2019 г.
  13. ^ «Руководство по стилю эликсира» . Гитхаб . Май 2020.
  14. ^ «Правила программирования» . Архивировано из оригинала 4 сентября 2010 г. Проверено 11 августа 2017 г.
  15. ^ «Руководство по стилю GDScript» .
  16. ^ «Соглашения о коде для языка программирования Java — соглашения об именах» . Оракул . Проверено 3 августа 2021 г.
  17. ^ «Соглашения о кодировании» . Проверено 3 февраля 2023 г.
  18. ^ «Зен вики» . Проверено 15 марта 2017 г.
  19. ^ Дамиан Конвей (2005). Лучшие практики Perl . О'Рейли Медиа Инк. с. 44 . ISBN  978-0-596-00173-5 .
  20. ^ «Краткое руководство по некоторым источникам соглашений об именах для разработки баз данных Oracle» . stevenfeuersteinonplsql.blogspot.com . Проверено 30 декабря 2020 г.
  21. ^ Майкл А. Ковингтон; Роберто Баньяра; Ричард А. О'Киф; Ян Вилемакер; Саймон Прайс (2009). «Руководство по кодированию для Пролога (v.3)». п. 14. arXiv : 0911.2899 [ cs.PL ].
  22. ^ IBM (июль 1965 г.). Операционная система IBM/360 PL/I: спецификации языка (PDF) . п. 16 . Проверено 12 ноября 2023 г.
  23. ^ Уикхем, Хэдли. Руководство по стилю tidyverse .
  24. ^ «Соглашения об именах Ruby» . Гитхаб . Май 2020.
  25. ^ «Именование – Рекомендации по API Rust» . Архивировано из оригинала 16 сентября 2018 г. Проверено 27 октября 2019 г.
  26. ^ «Соглашения об именах Terraform» . февраль 2022 г.
  27. ^ «Документация — язык программирования Zig» . Проверено 10 марта 2024 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ab39c7cdc68206811ed7a383842f2e45__1717700460
URL1:https://arc.ask3.ru/arc/aa/ab/45/ab39c7cdc68206811ed7a383842f2e45.html
Заголовок, (Title) документа по адресу, URL1:
Snake case - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)