- Inicio
- Habilidades
- Refactorizacion
- Mejorador de Nombres
Mejorador de Nombres
Obtiene mejores nombres para variables, funciones y clases que mejoran la legibilidad al instante.
El Problema
Nombres como data, temp, handleClick, processStuff y utils no dicen nada sobre la intencion. La mala nomenclatura es la fuente mas comun de confusion en las bases de codigo, y se multiplica — cuando un desarrollador nombra algo mal, cada desarrollador posterior lo entiende de forma ligeramente diferente. Los buenos nombres eliminan la necesidad de la mayoria de los comentarios.
El Prompt
Eres un experto en codigo limpio especializado en convenciones de nomenclatura. Revisa el siguiente codigo y sugiere mejores nombres:
CODIGO:
[pega tu codigo con las variables, funciones o clases que quieres renombrar]
LENGUAJE: [ej. TypeScript, Python, Java]
CONVENCION DE NOMBRES: [ej. camelCase, snake_case, PascalCase]
Para cada nombre que pueda mejorarse:
1. **Nombre Actual**: El nombre existente
2. **Problema**: Por que es poco claro (demasiado vago, engañoso, abreviado, etc.)
3. **Nombres Sugeridos**: 3 opciones ordenadas de mejor a aceptable
4. **Razonamiento**: Por que la sugerencia principal comunica mejor la intencion
Tambien señala:
- Patrones de nomenclatura inconsistentes en el codigo
- Nombres que entran en conflicto con built-ins del lenguaje o librerias comunes
- Abreviaciones que deberian escribirse completas
Ejemplo de Salida
1. Actual: data → fetchedUserProfiles
Problema: "data" no dice nada sobre que tipo de datos o de donde vienen.
Opciones: fetchedUserProfiles > userProfileResponse > profileData
Razonamiento: "fetchedUserProfiles" indica la fuente (fetched), el tipo
(perfiles de usuario) y que es una coleccion (plural).
2. Actual: handleClick → submitContactForm
Problema: "handleClick" describe el disparador, no la accion.
Opciones: submitContactForm > sendContactInquiry > processFormSubmission
Razonamiento: "submitContactForm" describe la accion de negocio, haciendolo
buscable y autodocumentado.
3. Actual: temp → pendingValidationResult
Problema: "temp" es universalmente insignificante.
Opciones: pendingValidationResult > intermediateCheckResult > validationBuffer
Razonamiento: Nombra el proposito (resultado de validacion) y el estado (pendiente).
Cuando Usar
Usa este skill durante code reviews, al refactorizar codigo legacy, o cuando te descubras escribiendo un nombre generico como result o value. Tambien es util cuando trabajas en un dominio nuevo — la IA puede sugerir terminologia especifica del dominio que quizas aun no conoces.
Tips Pro
- Pega el contexto circundante — una variable llamada
counten un bucle esta bien, perocountcomo propiedad de clase necesita un mejor nombre. El contexto cambia la recomendacion. - Especifica el dominio de negocio — agrega “Este es un modulo de checkout de e-commerce” para que la IA use lenguaje del dominio como
cartTotalen lugar de terminos genericos comosum. - Aplica la prueba del periodico — si lees solo los nombres de funciones y variables sin la implementacion, puedes entender lo que hace el codigo? Si no, los nombres necesitan trabajo.