Mcatorce Suite
← Volver al blog

camelCase, snake_case y kebab-case: cuándo usar cada uno

Una guía práctica de las convenciones de nomenclatura más comunes en programación y en qué contexto se espera cada una.

Prueba la herramienta: Conversor de Mayúsculas y Minúsculas

En programación, el nombre de una variable, una función o un archivo casi nunca puede llevar espacios. Para unir varias palabras en un solo identificador se usan convenciones, y cada lenguaje y cada ecosistema tiene la suya. Mezclarlas dentro de un mismo proyecto genera código incoherente y, a veces, errores reales.

Las convenciones más habituales

  • camelCase: nombreDeUsuario. La primera palabra en minúscula y cada palabra siguiente con inicial mayúscula. Es el estándar para variables y funciones en JavaScript, Java, C# (para variables locales) y Swift.
  • PascalCase (o UpperCamelCase): NombreDeUsuario. Como camelCase pero con la primera letra también en mayúscula. Se usa para nombres de clases, tipos y componentes en la mayoría de lenguajes.
  • snake_case: nombre_de_usuario. Palabras en minúscula separadas por guiones bajos. Es la convención de Python (PEP 8), Ruby y de la mayoría de bases de datos SQL para nombres de columnas.
  • CONSTANT_CASE (o SCREAMING_SNAKE_CASE): NOMBRE_DE_USUARIO. Como snake_case pero en mayúsculas. Se reserva para constantes y variables de entorno.
  • kebab-case: nombre-de-usuario. Palabras en minúscula separadas por guiones. Se usa en URLs, nombres de archivo, clases CSS y atributos HTML personalizados. No es válido como nombre de variable en la mayoría de lenguajes porque el guion se interpreta como resta.
  • Title Case y Sentence case: para texto destinado a personas (títulos, etiquetas de interfaz), no para código.

Dónde se espera cada una

Contexto Convención habitual
Variables y funciones JS/TS camelCase
Clases y componentes PascalCase
Variables y funciones Python snake_case
Columnas de base de datos snake_case
Constantes y variables de entorno CONSTANT_CASE
Nombres de archivo y URLs kebab-case
Clases CSS kebab-case
Claves JSON de una API camelCase o snake_case (elige una y sé coherente)

Por qué importa la coherencia

Cuando el código sigue la convención esperada, quien lo lee puede deducir el tipo de cada identificador de un vistazo: una palabra en PascalCase es una clase, una en CONSTANT_CASE es una constante. Además, muchas herramientas de análisis estático avisan si te sales de la convención del proyecto, y algunas APIs distinguen entre userId y user_id como campos diferentes.

Cómo convertir entre convenciones

El conversor de mayúsculas y minúsculas de Mcatorce Suite detecta las palabras de un identificador (aunque la entrada ya esté en camelCase o separada por guiones) y lo reescribe en cualquiera de las convenciones anteriores. Es útil para:

  • Adaptar una lista de campos que llega de una API en snake_case a las variables camelCase de tu código.
  • Generar nombres de archivo o slugs de URL en kebab-case a partir de un título.
  • Convertir un bloque de constantes de un formato a otro al migrar código.

Todo ocurre en el navegador, así que puedes pegar nombres de campos internos sin preocuparte por dónde acaban.

Preguntas frecuentes

¿camelCase o snake_case para las claves de mi API? Cualquiera de las dos es correcta; lo importante es no mezclarlas. Los ecosistemas JavaScript tienden a camelCase; los de Python y Ruby, a snake_case.

¿Puedo convertir varias líneas a la vez? Sí. La herramienta procesa cada línea de forma independiente, lo que facilita transformar listas enteras.

¿Por qué kebab-case no vale para variables? Porque el guion es el operador de resta. mi-variable se interpreta como mi menos variable.