stringtranslate.com

Caso de la serpiente

Fragmento de código de un módulo del kernel de Linux , que utiliza el formato Snake para los identificadores

Snake case (a veces estilizado autológicamente como snake_case ) es la convención de nombres en la que cada espacio se reemplaza con un carácter de guión bajo (_) y las palabras se escriben en minúsculas . Es una convención de nombres de uso común en informática , por ejemplo para nombres de variables y subrutinas , y para nombres de archivos . Un estudio ha descubierto que los lectores pueden reconocer valores en snake case más rápidamente que en camel case . Sin embargo, "los sujetos fueron entrenados principalmente en el estilo de guión bajo", por lo que no se puede eliminar la posibilidad de sesgo. [1]

Una variación es el caso de la serpiente que grita , donde las palabras se escriben en mayúsculas (estilizado como SCREAMING_SNAKE_CASE). [2] Esta convención se utiliza para constantes en lenguajes de programación como C / C++ , Python , Java , PHP , así como para variables de entorno .

Historia

El uso de guiones bajos como separadores de palabras se remonta a finales de la década de 1960. Se asocia particularmente con C , se encuentra en The C Programming Language (1978) y se contrasta con Pascal case (un tipo de Camel case ). Sin embargo, la convención tradicionalmente no tenía un nombre específico: la guía de estilo del lenguaje de programación Python se refiere a ella simplemente como "minúsculas_con_guiones_bajos". [3]

Dentro de Usenet, el término snake_case se vio por primera vez en la comunidad Ruby en 2004, [4] utilizado por Gavin Kistner, quien escribió:

Por cierto... ¿cómo se llama ese estilo de denominación? ¿Snake_case? Así lo llamaré hasta que alguien me corrija.

Sin embargo, el ex ingeniero de Intel Jack Dahlgren ha declarado que utilizaba el término internamente en Intel (y quizás en diálogo con ingenieros de Microsoft ) en 2002. [5] [ verificación fallida ] Es posible que el término se haya desarrollado independientemente en más de una comunidad.

A partir de 2015 , los nombres para otras convenciones de nomenclatura separadas por delimitadores para identificadores de varias palabras no se han estandarizado, aunque algunos términos tienen niveles crecientes de uso, como lisp-case, kebab-case, SCREAMING_SNAKE_CASE y más. [6] [7] [8]

Ejemplos

Los siguientes lenguajes de programación utilizan el formato snake case por convención:

Véase también

Referencias

  1. ^ Sharif, Bonita; Maletic, Jonathan I. (2010). "Un estudio de seguimiento ocular en los estilos de identificadores camelCase y under_score". 2010 IEEE 18th International Conference on Program Comprehension (PDF) . págs. 196–205. CiteSeerX  10.1.1.421.6137 . doi :10.1109/ICPC.2010.41. ISBN . 978-1-4244-7604-6. Número de identificación  S2C14170019.
  2. ^ "Caso de la serpiente". Mozilla Developer Network . 8 de septiembre de 2023 . Consultado el 10 de noviembre de 2023 .
  3. ^ por Guido van Rossum; Barry Warsaw; Nick Coghlan (5 de julio de 2001). "PEP 0008 -- Guía de estilo para código Python".
  4. ^ Gavin Kistner (23 de febrero de 2004). "Uso apropiado de camelCase". Grupo de noticias : comp.lang.ruby. Usenet:  HBn_b.379957$xy6.2073499@attbi_s02 . Consultado el 13 de agosto de 2015 .
  5. ^ "Quora". 10 de mayo de 2013.
  6. ^ "StackOverflow – ¿Cuál es el nombre de snake_case con guiones?".
  7. ^ "Programadores: si esto es CamelCase, ¿qué es esto?". Archivado desde el original el 7 de agosto de 2016. Consultado el 13 de agosto de 2015 .
  8. ^ "Camel_SNAKE-kebab". GitHub . 23 de abril de 2020.
  9. ^ "Convenciones de nomenclatura en objetos ABAP". help.sap.com . Consultado el 28 de julio de 2020 .
  10. ^ "Directrices de programación de ADA".
  11. ^ "Requisitos y pautas de la biblioteca Boost" . Consultado el 13 de agosto de 2015 .
  12. ^ "Nombres de clases y características de Eiffel". 28 de diciembre de 2019.
  13. ^ "Guía de estilo de Elixir". GitHub . Mayo de 2020.
  14. ^ "Reglas de programación". Archivado desde el original el 4 de septiembre de 2010. Consultado el 11 de agosto de 2017 .
  15. ^ "Guía de estilo de GDScript".
  16. ^ "Convenciones de código para el lenguaje de programación Java: convenciones de nomenclatura". Oracle . Consultado el 3 de agosto de 2021 .
  17. ^ "Convenciones de codificación" . Consultado el 3 de febrero de 2023 .
  18. ^ "Xen wiki" . Consultado el 15 de marzo de 2017 .
  19. ^ Damian Conway (2005). Mejores prácticas de Perl . O'Reilly Media Inc., pág. 44. ISBN 978-0-596-00173-5.
  20. ^ "Guía rápida de algunas fuentes de convenciones de nomenclatura para el desarrollo de bases de datos Oracle". stevenfeuersteinonplsql.blogspot.com . Consultado el 30 de diciembre de 2020 .
  21. ^ Michael A. Covington; Roberto Bagnara; Richard A. O'Keefe; Jan Wielemaker; Simon Price (2009). "Directrices de codificación para Prolog (v.3)". pág. 14. arXiv : 0911.2899 [cs.PL].
  22. ^ IBM (julio de 1965). IBM Operating System/360 PL/I: Language Specification (PDF) . p. 16 . Consultado el 12 de noviembre de 2023 .
  23. ^ Wickham, Hadley. La guía de estilo de Tidyverse.
  24. ^ "Convenciones de nomenclatura de Ruby". GitHub . Mayo de 2020.
  25. ^ "Nombres: pautas de la API de Rust". Archivado desde el original el 16 de septiembre de 2018. Consultado el 27 de octubre de 2019 .
  26. ^ "Convenciones de nomenclatura de Terraform". Febrero de 2022.
  27. ^ "Documentación - El lenguaje de programación Zig" . Consultado el 10 de marzo de 2024 .

Enlaces externos