Snake case

Pieza de código de un módulo del kernel de Linux, que utiliza snake case para los identificadores.

Snake case se refiere al estilo de escritura en el que cada espacio se reemplaza con un carácter de subrayado (snake_case) y la primera letra de cada palabra se escribe en minúsculas. Es una convención de nomenclatura comúnmente usada en informática, por ejemplo, para nombres de variables y subrutinas, y para nombres de archivos . Un estudio encontró que los lectores pueden reconocer los valores con nomenclatura estilizada con snake case más rápidamente que "Camel case". Sin embargo, "los sujetos fueron entrenados principalmente en el estilo de subrayado", por lo que no se puede eliminar la posibilidad de sesgo.

Historia

El uso de guiones bajos como separadores de palabras se remonta a finales de la década de 1960. Está particularmente asociado con C, lo cual se encuentra en El lenguaje de programación C (1978) y 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".

Dentro de Usenet, el término snake_case se vio por primera vez en la comunidad de Ruby en 2004, utilizado por Gavin Kistner, escribiendo:

"BTW...what *do* you call that naming style? snake_case? That's what I'll call it until someone corrects me." Por cierto... ¿cómo *llamas* a ese estilo de denominación? caso_serpiente? Así lo llamaré hasta que alguien me corrija.

Sin embargo, el ex ingeniero de Intel, Jack Dahlgren, ha declarado que estaba usando el término internamente en esta empresa (y tal vez en conversaciones con ingenieros de Microsoft) en 2002.  Es posible que el término se haya desarrollado independientemente en más de una comunidad.

A partir del año 2015, los nombres para otras convenciones de nomenclatura separadas por delimitadores para múltiples identificadores de palabras no han sido estandarizadas. Sin embargo, algunos términos tienen niveles de uso cada vez mayores, como por ejemplo: lisp-case, kebab-case, SCREAMING_SNAKE_CASE, entre otros.

Ejemplos

Una lista de lenguajes de programación que convencionalmente usan el snake case.

Véase también

Referencias

  1. ↑ Sharif, Bonita; Maletic, Jonathan I. (2010). «An Eye Tracking Study on camelCase and under_score Identifier Styles». 2010 IEEE 18th International Conference on Program Comprehension. pp. 196-205. ISBN 978-1-4244-7604-6. doi:10.1109/ICPC.2010.41.
  2. 1 2 Guido van Rossum, Barry Warsaw, Nick Coghlan (5 de julio de 2001). «PEP 0008 -- Style Guide for Python Code».
  3. ↑ Error en la llamada a Plantilla:Snake case: parámetro title requerido.
  4. ↑ «Quora». 10 de mayo de 2013.
  5. ↑ «StackOverflow – What's the name for snake_case with dashes?».
  6. ↑ «Programmers – If this is camelCase what-is-this?». Archivado desde el original el 7 de agosto de 2016. Consultado el 28 de febrero de 2023.
  7. ↑ «Camel_SNAKE-kebab». GitHub. 23 de abril de 2020.
  8. ↑ «Naming Conventions in ABAP Objects». help.sap.com. Consultado el 28 de julio de 2020.
  9. ↑ «Ada Programming Guidelines». Archivado desde el original el 25 de enero de 2022. Consultado el 28 de febrero de 2023.
  10. ↑ «Boost Library Requirements and Guidelines». Consultado el 13 de agosto de 2015.
  11. ↑ «Eiffel Class and Feature Names». 28 de diciembre de 2019.
  12. ↑ «Elixir Style Guide». GitHub. May 2020.
  13. ↑ «Programming Rules». Archivado desde el original el 4 de septiembre de 2010. Consultado el 11 de agosto de 2017.
  14. ↑ «GDScript Style Guide».
  15. ↑ «Code Conventions for the Java Programming Language – Naming Conventions». Oracle. Consultado el 3 de agosto de 2021.
  16. ↑ «Coding Conventions». Consultado el 3 de febrero de 2023.
  17. ↑ «Xen wiki». Consultado el 15 de marzo de 2017.
  18. ↑ Damian Conway (2005). Perl Best Practices. O'Reilly Media Inc. p. 44. ISBN 978-0596001735.
  19. ↑ «Quick Guide to Some Sources for Naming Conventions for Oracle Database Development». stevenfeuersteinonplsql.blogspot.com. Consultado el 30 de diciembre de 2020.
  20. ↑ «Coding Guidelines for Prolog (v.3)». MISSING LINK..
  21. ↑ Wickham, Hadley. The tidyverse style guide.
  22. ↑ «Ruby Naming Conventions». GitHub. May 2020.
  23. ↑ «Naming – Rust API Guidelines». Archivado desde el original el 16 de septiembre de 2018. Consultado el 28 de febrero de 2023.
  24. ↑ «Terraform Naming Conventions». Feb 2022.

Enlaces externos