Por qué son importantes las convenciones de nomenclatura
Cómo escribir nombres de variables, funciones y clases en el código no es solo una preferencia personal. Una convención de nomenclatura unificada hace el código legible, facilita la colaboración en equipo y mantiene un estilo consistente. Diferentes lenguajes tienen diferentes convenciones, y mezclarlas parece poco profesional.
Convenciones de nomenclatura comunes
camelCase
La primera palabra en minúsculas, la primera letra de las siguientes en mayúsculas:
firstName
lastName
getUserInfo
isLoggedIn
Uso: variables y funciones en JavaScript/TypeScript, métodos y variables en Java, métodos y variables en C#.
PascalCase (UpperCamelCase)
La primera letra de cada palabra en mayúsculas:
FirstName
UserService
HomeController
Uso: clases e interfaces en JavaScript/TypeScript, clases en Java, clases y métodos en C#, componentes React.
snake_case
Todas las palabras en minúsculas, separadas por guiones bajos:
first_name
last_name
get_user_info
Uso: variables y funciones en Python, variables y métodos en Ruby, nombres de campos de base de datos, variables en PHP.
UPPER_SNAKE_CASE (SCREAMING_SNAKE_CASE)
Todo en mayúsculas, separado por guiones bajos:
MAX_RETRY
DEFAULT_TIMEOUT
API_BASE_URL
Uso: constantes, opciones de configuración, valores de enumeración. Casi todos los lenguajes usan esta convención para nombrar constantes.
kebab-case
Todo en minúsculas, separado por guiones:
first-name
user-profile
api-key
Uso: rutas URL, nombres de clase HTML/CSS, nombres de archivo, claves de archivos de configuración.
dot.case
Separado por puntos:
user.name
config.timeout
Uso: claves jerárquicas en archivos de configuración, espacios de nombres.
Referencia rápida de convenciones por lenguaje
JavaScript / TypeScript
- Variables, funciones: camelCase (getUserInfo)
- Clases, interfaces, tipos: PascalCase (UserService)
- Constantes: UPPER_SNAKE_CASE (MAX_RETRY)
- Miembros privados: prefijo de guion bajo camelCase (_privateVar)
Python
- Variables, funciones: snake_case (get_user_info)
- Clases: PascalCase (UserService)
- Constantes: UPPER_SNAKE_CASE (MAX_RETRY)
- Miembros privados: prefijo de guion bajo snake_case (_private_var)
Java
- Variables, métodos: camelCase (getUserInfo)
- Clases: PascalCase (UserService)
- Constantes: UPPER_SNAKE_CASE (MAX_RETRY)
- Nombres de paquete: todo en minúsculas (com.example.service)
CSS / HTML
- Nombres de clase: kebab-case (user-profile)
- ID: kebab-case o camelCase (según el equipo)
Base de datos
- Nombres de tabla, campos: snake_case (user_name)
- Algunos usan camelCase, según las normas del equipo
URL
- Rutas: kebab-case (/user-profile/settings)
- Parámetros de consulta: camelCase o snake_case (?userId=123 o ?user_id=123)
Reglas de conversión
camelCase → snake_case
- Encontrar letras mayúsculas
- Añadir un guion bajo antes de la letra mayúscula
- Convertir todo a minúsculas
Ejemplo: getUserInfo → get_user_info
snake_case → camelCase
- Encontrar guiones bajos
- Convertir a mayúscula la letra después del guion bajo
- Eliminar el guion bajo
Ejemplo: get_user_info → getUserInfo
PascalCase → camelCase
Convertir la primera letra a minúscula, el resto sin cambios.
Ejemplo: UserService → userService
camelCase → PascalCase
Convertir la primera letra a mayúscula, el resto sin cambios.
Ejemplo: userService → UserService
kebab-case → camelCase
- Encontrar guiones
- Convertir a mayúscula la letra después del guion
- Eliminar el guion
Ejemplo: user-profile → userProfile
Errores comunes
Mezclar convenciones
Mezclar camelCase y snake_case en el mismo proyecto parece desordenado. Elige una convención y mantente firme.
Tratamiento de abreviaturas
¿Las abreviaturas deben ir todas en mayúsculas?
- ¿URL o Url? ¿userId o userID?
- Convención: abreviaturas de dos letras en mayúsculas (ID, URL), de tres o más letras con la primera en mayúscula (Http, Xml)
- El equipo debe unificarse, lo clave es la consistencia en todo el proyecto
Acrónimos
¿Cómo escribir HTTP, XML, URL en camelCase?
- Recomendado: httpUrl, xmlParser (tratar como palabras normales)
- Algunos: HTTPUrl, XMLParser (mantener mayúsculas de la abreviatura)
- El equipo debe unificarse
Tratamiento de números
¿user2name o user2Name?
- camelCase: user2Name (primera letra en mayúscula de la palabra después del número)
- snake_case: user2_name
Convertir mayúsculas y minúsculas con DocsAll
La herramienta de conversión de mayúsculas y minúsculas soporta:
- Todo en mayúsculas / todo en minúsculas
- Primera letra en mayúscula
- Conversión mutua camelCase / PascalCase / snake_case / kebab-case
- Primera letra de la frase en mayúscula
Operación:
- Pega el texto
- Selecciona el tipo de conversión
- Copia el resultado
Conversión en el navegador, el texto no se sube.
Resumen
Recuerda lo esencial de las convenciones de nomenclatura: variables y funciones usan camelCase o snake_case (según el lenguaje), las clases usan PascalCase, las constantes usan UPPER_SNAKE_CASE, las URL usan kebab-case. La unificación del equipo es lo más importante. La herramienta de conversión de mayúsculas y minúsculas de DocsAll se ejecuta en el navegador y los datos no se transmiten al exterior.