Las convenciones de nombres en el código, ¿cómo traducirlas? camelCase, PascalCase, SNAKE_CASE, kebab-case y Train-Case

Actualizado en diciembre de 2024.

Hoy vengo a presentar unos conceptos de programación relacionados con la legibilidad y que son muy importantes de detectar cuando localizamos software, web e incluso denominaciones de marcas.

Las convenciones de nombres son muy curiosas, descriptivas y ¡a partir de ahora los reconocerás por todas partes, porque te presento una serie de imágenes que harán que no las puedas olvidar y que las localices al instante.

Captura de pantalla de la serie Cómo vender drogas online rápido, donde se ve código de programación en la pantalla de un ordenador.
¿Has visto la serie de Netflix Cómo vender drogas online (rápido)?

Lenny Sander siempre usa la misma convención de nombres en su código y eso es decisivo en uno de los capítulos de la tercera temporada. No te adelanto nada, pero con este artículo entenderás a qué se refieren en la serie. De nada. 😉

👇 ¿Empezamos?

Legibilidad en el código

Muchas veces es necesario incorporar léxico propio del lenguaje escrito o hablado para nombrar variables, clases y demás elementos del código fuente.

Sin embargo, esto supone algunos retos.

Uno de ellos, como ya sabrás, es que no siempre es posible introducir espacios en el código.

Entonces, ¿cómo se hace si necesitamos una denominación con más de una palabra?

Podemos escribir todas las palabras juntas, ¿pero cómo quedaría?

estoesunejemplo

No se puede leer ni entender bien, ¿verdad?

¿Qué tal así?

estoEsUnEjemplo

O así:

EstoEsUnEjemplo

Puede que os resulte también más cómodo si introducimos guiones bajos:

esto_es_un_ejemplo

También podemos usar guiones medios:

esto-es-un-ejemplo

Incluso en alguna ocasión habrás visto que se combinan los guiones con las iniciales en mayúscula:

Esto-Es-Un-Ejemplo

Estas opciones son mejores que la primera en cuanto a que se pueden leer y entender mejor, ¿verdad?

Esta es la razón por la que se recomienda usar alguno de estos estilos o convenciones de nombres como buenas prácticas de programación.

El uso de un estilo u otro suele depender, entre otros motivos, del lenguaje de programación utilizado.

En español se denominan «convenciones de nombres» porque forman parte de las convenciones y de las guías de estilo de los desarrolladores, como esta de la documentación de .NET, pero, como toda convención, puede no seguirse siempre o, incluso, cada empresa o profesional (recordemos a Lenny Sander, el de la serie) puede tener sus propias decisiones al respecto.

Cada uno de estas convenciones tiene un nombre muy visual que nos facilita reconocerlas posteriormente.

¿Y para qué nos sirve a quienes traducimos?

Para saber que no lo tenemos que tocar a menos que nos indiquen lo contrario. Es más importante de lo que puede parecer, te lo aseguro; si lo tocas, todo se romperá.

Veamos las convenciones de nombres. 👇

camelCase y PascalCase

Dromedario en el desierto. La chepa es la letra ce mayúscula de Case en camelCase.
El dromedario camelCase te ayudará a recordar cómo se utiliza esta convención de nombres.

Se trata de escribir en mayúscula todas las palabras que forman el nombre excepto la primera.

Esta convención se suele utilizar en las variables de lenguajes orientados a objetos como C# o en PHP, siempre que este se utilice siguiendo el paradigma de programación orientada a objetos (POO).

Pero ¿y si escribimos la primera letra también en mayúscula?

Camello en el desierto. Las dos chepas con las letras pe y ce mayúsculas de PastelCase.
El camello UpperCamelCase, PascalCase para los amigos, se diferencia del camelCase en que la primera palabra que forma el nombre también se escribe con mayúscula inicial.

¡Seguro que te recuerda a las redes sociales!

Muchos utilizamos esta convención también para los hashtags: #PonUnTraductorEnTuVida.

Además, es un recurso muy utilizado en nombres corporativos y marcas comerciales, como MasterCard, AliExpress o CaixaBank.

En programación, se suele utilizar para las clases o en ciertos lenguajes de programación como Pascal, de donde recibe el nombre de PascalCase.

SNAKE_CASE, kebab-case y Train-Case

Fíjate en las URL de los sitios web en los que entres a partir de ahora, porque vas a reconocer estas convenciones que te presento a continuación.

Serpiente. Simulando que la barra baja es una serpiente.
La serpiente SNAKE_CASE no puede ser más descriptiva: palabras separadas por guiones bajos.

Esta convención tiene distintas variedades (en minúsculas, en mayúsculas…), pero siempre se denomina de la misma forma.

Se suele utilizar en C y en Python, siempre y cuando se siga una programación estructurada que recomiende esta convención de nombres.

Brochetas de kebab. Los trozos de carne serían las palabras y la brocheta los guiones.
La convención más sabrosa de todas: kebab-case.

Cuando las palabras se colocan separadas por un guion y en minúscula, eso es usar la convención kebab-case.

Tren. Las palabras con los grandes vagones, por eso empiezan por mayúscula y están unidas por guiones.
Las palabras, como vagones de tren: Train-Case.

Train-Case es una variación de kebab-case, pues la única diferencia es que cada una de las palabras empiezan en mayúscula.

¿No te suena de nada esta estructura?

Pues la has visto millones de veces, mira: Coca-Cola.

¿Se te ocurren más ejemplos?

⌨ Déjamelos en los comentarios.

Ejemplo de traducción desde el código

A continuación, os muestro un ejemplo de código ficticio (algo absurdo, pero sencillo) para que veáis algunos de los conceptos anteriores en práctica.

Código de programación para sacar el nombre de un cliente que se registra.
Se trata de un fragmento de código en PHP que recoge el nombre y el apellido del cliente para que, posteriormente, en pantalla los muestre de una determinada manera.

Primero nos pide que insertemos el nombre y luego los apellidos para que en pantalla nos devuelva la información de la siguiente manera:

Customer: Cristina Lanuza

Pongamos que en un encargo de localización te encuentras con este fragmento de código, ¿cómo lo traducirías?

Puede que tu primer impulso sea traducir las palabras que conoces, incluso usando la misma sintaxis, como FormatoDelCliente, NOMBRE_PÚBLICO_DEL_CLIENTE, nombreDePila, apellidos… Esto sería un error por muchos aspectos y os aseguro que nada funcionaría, así que sigue leyendo. 👇

En este caso, debe traducirse únicamente la información marcada en verde de la siguiente manera:

public const PUBLIC_CLIENT_NAME = 'Cliente';
$name = readline('Escribe tu nombre: ');
$surname = readline('Escribe tus apellidos: ');

Esto se vería en patalla de la siguiente manera (marco en rojo los datos que escribiríamos a modo de ejemplo después de ejecutar el código):

Escribe tu nombre: Cristina
Escribe tus apellidos: Lanuza

Eso nos devolvería:

Cliente: Cristina Lanuza

No obstante, como digo, este es un ejemplo algo absurdo y no es un caso real. Desarrolladores y personas con conocimientos de programación, no os alteréis.

Por lo que respecta al resto del texto…

Lo más seguro es que no tenga ningún sentido traducir las variables y las constantes de un código y, por ello, a menos que el cliente te indique lo contrario: déjalo como aparece en el original.

Traducir también es saber qué hay que dejar como el original y qué no.

Importante:

Si tienes dudas, pregunta al cliente.

Si necesitas localizar tu producto, pon a un traductor en tu vida que ofrezca este servicio de localización.

¿Te han parecido curiosos los nombres de estas convenciones?

¿En qué otros casos te has encontrado con palabras escritas de esta manera?
⌨ Déjamelo en los comentarios.

¡Nos leemos!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *