Случай змеи - Snake case

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

Случай змеи (стилизован под snake_case) относится к стилю написания, в котором каждый пробел заменяется подчеркивать (_) и первая буква каждого слова в нижнем регистре. Это обычно используемое соглашение об именах в вычисление, например для Переменная и подпрограмма имена, и для имена файлов. Одно исследование показало, что читатели могут распознать ценность случая змеи быстрее, чем верблюд.[1]

История

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

В Usenet термин snake_case впервые появился в Рубин сообщество в 2004 году[3], использованный Гэвином Кистнером, пишет:

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

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

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

Примеры

Список языков программирования, которые обычно используют регистр змейки

  • ABAP[8]
  • C ++, Способствовать росту[9]
  • C для некоторых имен типов в стандартной библиотеке, но не для имен функций.
  • Эйфель, для имен классов и объектов[10]
  • Эликсир, для имен атомов, переменных и функций[11]
  • Erlang, для имен функций[12]
  • GDScript, для имен переменных и функций[13]
  • Ява, для статических конечных констант и значений перечисления.
  • OCaml, для значений, типа и имен модулей[14]
  • Perl, для лексических переменных и подпрограмм[15]
  • Пролог, как для атомов (имена предикатов, имена функций и константы), так и для переменных[16]
  • Python, для имен переменных, имен функций, имен методов и имен модулей или пакетов (т. е. файлов)[2]
  • PHP используйте SCREAMING_SNAKE_CASE для констант класса
  • р, для имен переменных, функций, имен аргументов, особенно в стиле тидиверс[17]
  • Рубин, для имен переменных и методов[18]
  • Ржавчина, для имен переменных, имен функций, имен методов, имен модулей и макросов[19]
  • Tcl

Смотрите также

Рекомендации

  1. ^ Шариф, Бонита; Малетик, Джонатан И. (2010). «Исследование слежения за глазами на стилях идентификаторов camelCase и under_score». 2010 18-я Международная конференция IEEE по пониманию программ (PDF). С. 196–205. CiteSeerX  10.1.1.421.6137. Дои:10.1109 / ICPC.2010.41. ISBN  978-1-4244-7604-6.
  2. ^ а б Гвидо ван Россум, Барри Варшава, Ник Коглан (05.07.2001). «PEP 0008 - Руководство по стилю для кода Python».CS1 maint: использует параметр авторов (связь)
  3. ^ Гэвин Кистнер (23 февраля 2004 г.). «Надлежащее использование camelCase». Группа новостейcomp.lang.ruby. Usenet:  HBn_b.379957$xy6.2073499@attbi_s02. Получено 2015-08-13.
  4. ^ "Quora". 2013-05-10.
  5. ^ "StackOverflow - Как называется snake_case с тире?".
  6. ^ «Программисты - если это CamelCase, что это?».
  7. ^ «Camel_SNAKE-kebab». 23 апреля 2020.
  8. ^ «Соглашения об именах в объектах ABAP». help.sap.com. Получено 2020-07-28.
  9. ^ «Требования и рекомендации для библиотеки Boost». Получено 2015-08-13.
  10. ^ «Классы Эйфеля и названия функций». 28 декабря 2019.
  11. ^ "Руководство по стилю Эликсира". Май 2020.
  12. ^ «Правила программирования». Получено 2017-08-11.
  13. ^ «Руководство по стилю GDScript».
  14. ^ "Xen wiki". Получено 2017-03-15.
  15. ^ Дамиан Конвей (2005). Лучшие практики Perl. O'Reilly Media Inc. стр.44. ISBN  978-0596001735.
  16. ^ Майкл А. Ковингтон; Роберто Баньяра; Ричард А. О'Киф; Ян Вилемакер; Саймон Прайс (2009). «Рекомендации по кодированию для Prolog (v.3)». п. 14. arXiv:0911.2899 [cs.PL ].
  17. ^ Уикхэм, Хэдли. Руководство по стилю tidyverse.
  18. ^ «Соглашения об именах Ruby». Май 2020.
  19. ^ «Именование - Руководство по Rust API».

внешняя ссылка