Tecnología

Snake Case; ¡Una forma ver el código diferente!

Resumen

Snake case se refiere a un estilo de escritura en el que cada espacio se reemplaza con una raya al piso (Snake _ case); La primera letra de cada palabra se escribe en minúsculas.

Es una convención de nomenclatura comúnmente usada para nombrar de variables, subrutinas y para nombres de archivos

Historia de Snake Case

El uso de guiones bajos para remplazar la separación se remonta desde la década anterior (siglo 20), esto se asocia por lenguajes de programación, se empezó a ver en leguajes como el C; Para esa fecha no tenía un nombre entonces lo llamaban “minúsculas _ con _ guiones _ bajos”.

El termino de Snake se empezó a utilizar por primera vez en la comunidad del Ruby en 2004, utilizado por Gavian Kistner mencionado.

“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.”

Gavin Kistner

Razones para Usar Snake Case

Existen varias razones sólidas para utilizar el estilo de escritura “Snake case” en programación y desarrollo de software. En primer lugar, el “Snake case” mejora significativamente la legibilidad por máquina al separar las palabras con guiones bajos, lo que facilita la interpretación de los identificadores por parte del compilador o intérprete. Esto reduce los errores de sintaxis y agiliza el proceso de desarrollo.

Además, la consistencia es clave en la programación, y el “Snake case” promueve la uniformidad en todo el código fuente. Cuando todos los identificadores siguen este estilo, el código es más coherente y comprensible, tanto para el desarrollador que lo escribe como para otros miembros del equipo.

¿Cómo funciona?

En la escritura con forma de (Snake _ case), o también conocida como “caso serpiente”; Se utiliza letras minúsculas y separadas con guiones bajos.

Esta forma de escritura es utilizada en programas para nombrar variables, funciones, contantes, Módulos o paquetes, Atributos de clases, Nombres de archivos, Enumeraciones o constantes enumeradas; Estos serían uno de las tantas funciones que tiene “Snake _ case”.

Variables

  • Nombre _ de _ variable
  • Edad _ del _ usuario
  • Saldo _ cuenta _ bancaria

Funciones

  • Calcular _ promedio
  • Abrir _ archivo _ de _ texto
  • Validar _ correo _ electronico

Constantes

  • PI
  • TAMANO _ MAXIMO

Módulos o paquetes (nombres de directorios)

  • Utilidades _ matematicas
  • Procesamiento _ de _ datos
  • Generación _ de _ informes

Atributos de clases

  • Longitud _ maxima
  • Nombre _ usuario _ actual
  • Fecha _ creacion

Nombres de archivos

  • mi_script_de_utilidad.py
  • datos_de_clientes.csv
  • archivo _ de_ configuracion.json

Enumeraciones o constantes enumeradas

  • Estado _ activo
  • Tipo _ documento
  • Modo _ operacion

¿Cómo lo podemos adaptar a otros programas?

El Snake case se utiliza en una variedad de lenguajes de programación.

Para cada lenguaje tiene un tipo de función en específico como variables, funciones, contantes, Módulos o paquetes, Atributos de clases, Nombres de archivos, Enumeraciones o constantes enumeradas, entre otros, 

Python

En Python, el Snake case se utiliza ampliamente para nombrar variables, funciones y módulos

javascript

JavaScript también utiliza Snake case en muchas ocasiones, especialmente para nombrar variables y funcione

Rubí

Ruby es otro lenguaje que adopta el Snake case para la nomenclatura.

C#

En C#, el Snake case se utiliza a menudo para nombrar variables y campos, aunque la convención principal es el “Pascal case” (donde la primera letra de cada palabra se escribe en mayúscula).

PHP

PHP utiliza “snake_case” para nombres de variables y funciones en muchas de sus aplicaciones

¿Qué es Snake Case?

Elegir una convención de nomenclatura adecuada es crucial en el desarrollo de software. El uso coherente de una convención de nomenclatura facilita la colaboración entre programadores y mejora la legibilidad del código.

Legibilidad

El Snake case es altamente legible para los programadores. Al separar las palabras con guiones bajos, se distinguen claramente las diferentes partes del nombre, lo que facilita la comprensión del propósito de la variable o función.

Consistencia

El uso constante de snake case en todo el código garantiza una apariencia uniforme y coherente. Esto hace que sea más fácil para los equipos de desarrollo mantener y actualizar el código con el tiempo.

Compatibilidad con múltiples lenguajes

Snake case es una convención de nomenclatura que se adapta bien a una variedad de lenguajes de programación. Esto significa que los programadores pueden utilizar el mismo estilo de escritura en diferentes proyectos y lenguajes, lo que simplifica la transición entre ellos.

Facilita la lectura de palabras compuestas

En el desarrollo de software, a menudo se utilizan nombres de variables y funciones que consisten en varias palabras. El snake case hace que sea más fácil identificar dónde comienza y termina cada palabra, lo que mejora la comprensión.

Evita conflictos con palabras clave

En algunos lenguajes de programación, ciertas palabras son palabras clave que tienen un significado especial y no pueden utilizarse como nombres de variables o funciones. El uso de snake case puede ayudar a evitar conflictos con estas palabras clave, ya que es poco probable que contengan guiones bajos.

Formas similares a Snake Case

Aunque el snake case es una convención de nomenclatura ampliamente aceptada, no es la única opción disponible. Otros estilos de escritura comunes incluyen

El caso de Carmel

En camel case, la primera palabra comienza con minúscula y las palabras siguientes comienzan con mayúscula, sin espacios ni guiones bajos. Por ejemplo, “nombrePersona” en lugar de “nombre _ persona”.

estuche Pascal.

En pascal case, todas las palabras comienzan con mayúscula y no se utilizan espacios ni guiones bajos. Por ejemplo, “NombrePersona”.

Kebab Case

En kebab case, las palabras se separan con guiones en lugar de guiones bajos. Por ejemplo, “nombre-persona”.

Screaming Snake Case

En este estilo, todas las letras son mayúsculas y las palabras se separan con guiones bajos. Se utiliza a menudo para nombrar constantes. Por ejemplo, “CONSTANTE _ IMPORTANTE” o “VALOR _ MAXIMO”.

Conclusión sobre el caso de la serpiente

Snake Case una forma de escribir en lenguajes de programación, ya que, gracias a una comunidad de Ruby, se dio a conocer, haciendo que la sintaxis del texto sea más fácil de reconocer (Analizar); Ya que con el método de dejar el comando separa con un guion bajo (“ _ ”). Haciendo que la interacción sea fácil de reconocer.

Pero pues si esto no se adapta a tu forma de tu lenguaje, podría utilizar otros métodos de escritura como Kebab Case, Pascal Case, Camel Case o Screaming Snake Case; Recuerda es como te quede más fácil visualizar, ya que estos son ayuditas que te dan los programadores.

Snake case no es solo una convención estilística, sino una herramienta esencial que contribuye a un desarrollo de software más eficiente y a la creación de código fuente que sea más legible, comprensible y fácilmente mantenible, lo que, en última instancia, conduce a un proceso de desarrollo más fluido y a la construcción de sistemas de software más robustos.

Autor: Juan Paulo Marin Castro

Editor: Carlos Iván Pinzón Romero

Codigo: UCPA-1

Universidad: Universidad central

Fuentes

Wikipedia contributors. (s/f). Snake case. Wikipedia, The Free Encyclopedia. https://es.wikipedia.org/w/index.php?title=Snake_case&oldid=151390103
Lázaro, E. (2020, junio 5). Tipos de notación: Camel Case, Pascal Case, Snake Case y Kebab Case. Neoguias | Sistemas, Aplicaciones, Dispositivos y Programación a Todos los Niveles. https://www.neoguias.com/tipos-notacion-nombres/
Alonso, A., & alonsus. (2017, junio 7). Convención de nombres: desde el CamelCase hasta el kebab-case. adrianalonso.es. https://adrianalonso.es/cajon-desatre/convencion-de-nombres-desde-el-camelcase-hasta-el-kebab-case/
Programming naming conventions (explained by a snake). (s/f). Pluralsight.com. Recuperado el 26 de septiembre de 2023, de https://www.pluralsight.com/blog/software-development/programming-naming-conventions-explained
La importancia de las convenciones de codificación: PascalCase, camelCase, snake_case y kebab-case. (s/f). Geeks.ms. Recuperado el 26 de septiembre de 2023, de https://geeks.ms/jorge/2019/03/24/la-importancia-de-las-convenciones-de-codificacion-pascalcase-camelcase-snake_case-y-kebab-case/
Wikipedia contributors. (s/f). Camel case. Wikipedia, The Free Encyclopedia. https://es.wikipedia.org/w/index.php?title=Camel_case&oldid=152260084
McKenzie, C. (2021, marzo 24). What is pascal case? Theserverside.com. https://www.theserverside.com/definition/Pascal-case
Lanuza, C. (s/f). Blog lanuzacristina. Lanuzacristina.com. Recuperado el 26 de septiembre de 2023, de https://blog.lanuzacristina.com/blog/camelcase_pascalcase_snakecase_kebabcase_traincase_traduccion/
Estándares de Nomenclatura. (s/f). Scribd. Recuperado el 26 de septiembre de 2023, de https://es.scribd.com/document/436101920/Estandares-de-Nomenclatura
Boot dev. (2022). snake_case vs camelCase (PLEASE use the correct one) [Video]. Recuperado de https://www.youtube.com/watch?v=u9ue_Oj-rVg&ab_channel=Bootdev 
DateTime::__construct(): Failed to parse time string (n.p.-1-1) at position 4 (-): Double timezone specification
patricus. (2017). NyAJE (1) [Image]. Recuperado de https://stackoverflow.com/questions/44793812/laravel-with-changes-variable-case-to-snake-case 
kernel de Linux. (2022). 330px-Alx_source_snippet [Image]. Recuperado de https://es.wikipedia.org/wiki/Snake_case 
ADRIANALONSO.ES. (2017). camel_snake_case [Image]. Recuperado de https://adrianalonso.es/cajon-desatre/convencion-de-nombres-desde-el-camelcase-hasta-el-kebab-case/