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 nomenclatura? ¿Snake_case? Así lo llamaré hasta que alguien me corrija.

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. [5] [6] [7]

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. ^ "StackOverflow – ¿Cuál es el nombre de snake_case con guiones?".
  6. ^ "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 .
  7. ^ "Camel_SNAKE-kebab". GitHub . 23 de abril de 2020.
  8. ^ "Convenciones de nomenclatura en objetos ABAP". help.sap.com . Consultado el 28 de julio de 2020 .
  9. ^ "Directrices de programación de ADA".
  10. ^ "Requisitos y pautas de la biblioteca Boost" . Consultado el 13 de agosto de 2015 .
  11. ^ "Nombres de clases y características de Eiffel". 28 de diciembre de 2019.
  12. ^ "Guía de estilo de Elixir". GitHub . Mayo de 2020.
  13. ^ "Reglas de programación". Archivado desde el original el 4 de septiembre de 2010. Consultado el 11 de agosto de 2017 .
  14. ^ "Guía de estilo de GDScript".
  15. ^ "Convenciones de código para el lenguaje de programación Java: convenciones de nomenclatura". Oracle . Consultado el 3 de agosto de 2021 .
  16. ^ "Convenciones de codificación" . Consultado el 3 de febrero de 2023 .
  17. ^ "Xen wiki" . Consultado el 15 de marzo de 2017 .
  18. ^ Damian Conway (2005). Mejores prácticas de Perl . O'Reilly Media Inc., pág. 44. ISBN 978-0-596-00173-5.
  19. ^ "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 .
  20. ^ 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].
  21. ^ IBM (julio de 1965). IBM Operating System/360 PL/I: Language Specification (PDF) . p. 16 . Consultado el 12 de noviembre de 2023 .
  22. ^ Wickham, Hadley. La guía de estilo de Tidyverse.
  23. ^ "Convenciones de nomenclatura de Ruby". GitHub . Mayo de 2020.
  24. ^ "Nombres: pautas de la API de Rust". Archivado desde el original el 16 de septiembre de 2018. Consultado el 27 de octubre de 2019 .
  25. ^ "Convenciones de nomenclatura de Terraform". Febrero de 2022.
  26. ^ "Documentación - El lenguaje de programación Zig" . Consultado el 10 de marzo de 2024 .

Enlaces externos