Convenciones de nomenclatura en programación: camelCase, PascalCase, snake_case y kebab-case
Escribir código limpio va mucho más allá de hacerlo compilar y funcionar correctamente. La legibilidad es crucial para el mantenimiento, la colaboración y la depuración de errores. Uno de los pilares fundamentales de la ingeniería de software es la adopción de convenciones de nomenclatura consistentes para variables, funciones, clases, columnas de bases de datos y archivos.
Dado que los espacios no están permitidos en los identificadores en la gran mayoría de lenguajes de programación, los desarrolladores utilizan letras mayúsculas o caracteres separadores para distinguir palabras. A lo largo de décadas de evolución técnica, varios patrones consolidados se han convertido en estándares de la industria, entre ellos camelCase, PascalCase, snake_case, kebab-case y SCREAMING_SNAKE_CASE.
Guías de Estilo: Las diferentes comunidades y lenguajes tienen sus propias normas establecidas. El uso de la convención adecuada hace que su código resulte natural para ese ecosistema y acelera la integración en equipo.
Los formatos principales de case
1. camelCase (lowerCamelCase)
En camelCase, la primera palabra comienza con letra minúscula y cada palabra subsiguiente comienza con letra mayúscula, sin espacios ni signos de puntuación. La alternancia de alturas de las letras recuerda las jorobas de un camello.
- Ejemplos: nombreDelUsuario, calcularDuracionTotal, estaActivo, procesarSolicitudHttp
- Uso común: Nombres de variables, parámetros y funciones en JavaScript, TypeScript, Java, C#, Swift y Kotlin.
2. PascalCase (UpperCamelCase)
PascalCase sigue la misma lógica de mayúsculas que camelCase, con la diferencia de que la primera letra de la primera palabra también es siempre mayúscula. Lleva el nombre del lenguaje de programación Pascal, que popularizó esta convención.
- Ejemplos: PerfilDelUsuario, CompresorDeImagen, LayoutLocalizado, ConexionBaseDatos
- Uso común: Clases, interfaces, tipos, enumeraciones y componentes en React, C#, Java y Python.
3. snake_case
En snake_case, todas las letras son minúsculas y las palabras se unen mediante un guion bajo (_). Este formato ofrece gran claridad visual porque emula el espaciado natural entre palabras.
- Ejemplos: nombre_del_usuario, conexion_base_datos, calcular_duracion_total, fecha_creacion
- Uso común: Funciones, variables y módulos en Python (PEP 8), Ruby, Rust, C y nombres de columnas en bases de datos relacionales como PostgreSQL y MySQL.
4. kebab-case
En kebab-case, todas las letras se escriben en minúsculas y se separan por guiones medios (-). El nombre hace referencia a los ingredientes ensartados en una brocheta.
- Ejemplos: nombre-del-usuario, conversor-de-case, panel-principal, boton-confirmar
- Uso común: Slugs de URL, endpoints de APIs REST, clases CSS, atributos personalizados de HTML y nombres de paquetes npm.
5. SCREAMING_SNAKE_CASE
También conocido como CONSTANT_CASE, este formato escribe todas las letras en mayúsculas con separación por guiones bajos.
- Ejemplos: LIMITE_MAXIMO_REINTENTOS, TIEMPO_ESPERA_SEGUNDOS, CLAVE_SECRETA_API
- Uso común: Constantes globales, variables de entorno y valores de configuración inmutables.
Tabla comparativa de convenciones
| Convención | Primera Letra | Separador | Uso Principal | Ejemplo |
|---|---|---|---|---|
| camelCase | Minúscula | Ninguno | Variables y funciones en JS, TS, Java | totalUsuariosActivos |
| PascalCase | Mayúscula | Ninguno | Clases, Interfaces y Componentes React | TarjetaPerfilUsuario |
| snake_case | Minúscula | Guion bajo (_) | Python, Rust y Bases de Datos | total_usuarios_activos |
| kebab-case | Minúscula | Guion medio (-) | URLs, clases CSS y nombres de archivos | total-usuarios-activos |
| SCREAMING_SNAKE | Mayúscula | Guion bajo (_) | Constantes globales y Variables de Entorno | LIMITE_MAXIMO_CONEXIONES |
¿Por qué kebab-case no se utiliza en nombres de variables?
Una consulta habitual es por qué no se puede utilizar kebab-case para declarar variables en lenguajes como JavaScript, Python o Java. La razón radica en el analizador léxico de los compiladores: en los lenguajes de programación, el guion medio (-) está reservado para la operación matemática de resta.
Al procesar una expresión como primer-nombre, el compilador interpreta la línea como primer menos nombre. Por esta razón, el formato kebab-case se reserva para contextos sin ambigüedad aritmética, como selectores CSS, atributos HTML y rutas URL en la web.
Buenas prácticas con acrónimos en identificadores
Cuando un nombre contiene acrónimos como HTTP, URL o ID, las guías de estilo modernas aconsejan tratarlos como palabras regulares:
- camelCase: Prefiera
procesarUrlHttpyusuarioIdfrente aprocesarURLHTTPyusuarioIDpara evitar secuencias confusas de mayúsculas continuas. - PascalCase: Prefiera
AdministradorConexionHttpfrente aAdministradorConexionHTTPpara una delimitación limpia entre palabras. - snake_case: En snake_case, los acrónimos simplemente permanecen en minúsculas separados por guiones bajos:
procesar_url_httpyusuario_id.
Convierta formatos de texto al instante
Al mover datos entre esquemas de bases de datos (snake_case), contratos de APIs REST (camelCase) y componentes React (PascalCase), renombrar docenas de campos manualmente resulta tedioso y propenso a errores. Puede utilizar nuestro Conversor de Case gratuito para alternar textos entre mayúsculas, minúsculas, camelCase, PascalCase, snake_case y kebab-case de forma instantánea, con procesamiento local en su navegador y total privacidad.
¿Listo para cambiar formatos de texto? Abrir el Conversor de Case