Plantilla de plan de refactorización
Utilice esta plantilla para documentar y hacer un seguimiento de su esfuerzo de refactorización.
Información del proyecto
| Campo | Valor |
|---|---|
| Project/Module | [Nombre del proyecto] |
| Archivos de destino | [Lista de archivos a refactorizar] |
| Fecha de creación | [Fecha] |
| Autor | [Nombre] |
| Situación | Proyecto / En revisión / Aprobado / En curso / Finalizado |
Resumen
Objetivos
- [ ] [Objetivo primordial: por ejemplo, mejorar la legibilidad del procesamiento de pagos]
- [ ] [Objetivo secundario: por ejemplo, reducir la duplicación de códigos]
- [ ] [Objetivo: por ejemplo, mejorar la testeabilidad]
Limitaciones
- [ ] [Análisis 1: por ejemplo, no se puede cambiar la API pública]
- [ ] [Conjunto 2: por ejemplo, Debe mantener la compatibilidad hacia atrás]
- [ ] [Conjunto 3: por ejemplo, sin cambios en el esquema de la base de datos]
Nivel de riesgo
- [ ] Baja - Cambios menores, código bien probado
- [ ] Media - Cambios moderados, algunos riesgos
- [ ] Alto - Cambios significativos, se necesita atención cuidadosa
Lista de verificación previa a la refactorización
Evaluación de la cobertura del ensayo
| Métrico | Corriente | Objetivo | Situación |
|---|---|---|---|
| Cobertura de prueba por unidad | __% | ≥80% | |
| Pruebas de integración | Yes/No | Sí. | |
| Todos los ensayos que pasan | Yes/No | Sí. |
Requerido antes de comenzar
- [ ] Todas las pruebas que pasan
- [ ] Código revisado y entendido
- [ ] Control de copia de seguridad/versión en marcha
- [ ] Aprobación de usuario obtenida
El código identificado huele mal
Resumen
| # | Huele. | Zona | Severidad | Prioridad |
|---|---|---|---|---|
| 1 | [por ejemplo, método largo] | [archivo:línea] | Alta | P1 |
| 2 | [por ejemplo, Código duplicado] | [archivo:línea] | Medio | P2 |
| 3 | [por ejemplo, "Envidia de las características"] | [archivo:línea] | Baja | P3 |
Análisis detallado
Olor #1: [Nombre]
Zona: path/to/file.js:45-120
Descripción[Descripción detallada del problema]
Impacto[Impacto 1] - [Impacto 2]
Solución propuesta: [ Breve descripción de cómo arreglar]
Fases de refactorización
Fase A: Ganancias rápidas (bajo riesgo)
Objetivo: Mejoras simples con valor inmediato
Cambios estimados: [archivos X, métodos Y]
Se requiere la aprobación del usuario: Sí / No
| # | Tarea | Archivo | Refactorización | Situación |
|---|---|---|---|---|
| A1 | Cambiar nombre de variable x a userCount |
utils.js:15 | Cambiar el nombre de la variable | [ ] |
| A2 | Eliminar no utilizado oldHandler() |
api.js:89 | Eliminar código muerto | [ ] |
| A3 | Extracción de validación duplicada | form.js:23,67 | Método de extracción | [ ] |
Plan de reversión: Revertir confirma A1-A3
Fase B: Mejoras estructurales (riesgo medio)
Objetivo: Mejorar la organización y claridad del código
Cambios estimados: [archivos X, métodos Y]
Se requiere la aprobación del usuario: Sí
Dependencias: La fase A debe estar completa
| # | Tarea | Archivo | Refactorización | Situación |
|---|---|---|---|---|
| B1 | Extracto calculatePrice() del método largo |
order.js:45 | Método de extracción | [ ] |
| B2 | Introducir OrderDetails objeto parámetro |
order.js:12 | Introducir el objeto del parámetro | [ ] |
| B3 | Mover formatAddress() a clase de dirección |
customer.js:78 | Mover método | [ ] |
Plan de reversión: Volver a la confirmación posterior a la fase A
Fase C: Cambios arquitectónicos (riesgo más alto)
Objetivo: Abordar cuestiones estructurales más profundas
Cambios estimados: [archivos X, métodos Y]
Se requiere la aprobación del usuario: Sí
Dependencias: Las fases A y B deben estar completas
| # | Tarea | Archivo | Refactorización | Situación |
|---|---|---|---|---|
| C1 | Reemplazar el cambio de precio con polimorfismo | pricing.js:30 | Reemplazar condicional con polimorfismo | [ ] |
| C2 | Extracto NotificationService clase |
user.js:100 | Clase de extracción | [ ] |
Plan de reversión: Revertir a la confirmación posterior a la fase B
Pasos de refactorización detallados
Tarea [ID]: [Nombre de la tarea]
Olor dirigido: [Nombre olfativo]
Técnica de refactorización: [Nombre técnico]
Nivel de riesgo: Bajo / Medio / Alto
Contexto
Antes (Estado actual):
// Paste current code here
Después (Estado previsto):
// Paste expected code here
Mecánica paso a paso
- [ ] Medida 1: [Descripción]
- Prueba: Ejecutar pruebas después de este paso
-
Se espera: Todos los ensayos pasan
-
[ ] Medida 2: [Descripción]
- Prueba: Ejecutar pruebas después de este paso
-
Se espera: Todos los ensayos pasan
-
[ ] Medida 3: [Descripción]
- Prueba: Ejecutar pruebas después de este paso
- Se espera: Todos los ensayos pasan
Verificación
- [ ] Todas las pruebas que pasan
- [ ] Comportamiento sin cambios
- [ ] Compilaciones de código
- [ ] No hay nuevas advertencias
Enviar mensaje
refactor: [Describe the refactoring]
Seguimiento de los progresos
Estado de la fase
| Fase | Situación | Iniciado | Terminado | Pruebas que pasan |
|---|---|---|---|---|
| A | No comenzado / En curso / Hecho | |||
| B | No comenzado / En curso / Hecho | |||
| C | No comenzado / En curso / Hecho |
Cuestiones que se han abordado
| # | Cuestión | Resolución | Situación |
|---|---|---|---|
| 1 | [Descripción] | [Cómo resuelto] | Abierto / resuelto |
Comparación métrica
Antes de refactorizar
| Métrico | Archivo 1 | Archivo 2 | Total |
|---|---|---|---|
| Líneas de código | |||
| Complejidad ciclomática | |||
| Índice de mantenimiento | |||
| Número de métodos | |||
| Longitud del método de Avg |
Después de la refactorización
| Métrico | Archivo 1 | Archivo 2 | Total | Cambio |
|---|---|---|---|---|
| Líneas de código | ||||
| Complejidad ciclomática | ||||
| Índice de mantenimiento | ||||
| Número de métodos | ||||
| Longitud del método de Avg |
Lista de comprobación posterior a la refactorización
- [ ] Todas las pruebas que pasan
- [ ] No hay nuevas advertencias o errores
- [ ] Código compila con éxito
- [ ] Verificación manual completada
- [ ] Documentación actualizada (si es necesario)
- [ ] Código revisado
- [ ] Métrica mejorada
- [ ] Firma de usuario obtenida
Lecciones aprendidas
Lo que fue bien
- [Tema 1]
- [Tema 2]
Lo que podría mejorarse
- [Tema 1]
- [Tema 2]
Recomendaciones para el futuro
- [Tema 1]
- [Tema 2]
Homologaciones
| Función | Nombre | Fecha | Firma |
|---|---|---|---|
| Autor del plan | |||
| Plomo técnico | |||
| Propietario del producto |
Apéndice
A. Documentación conexa
- [Enlace con documentos pertinentes]
B. Materiales de referencia
- [Enlace al catálogo de olores código]
- [Enlace al catálogo de refactorización]
C. Herramientas utilizadas
- [Marco de pruebas]
- [Herramientas de linte]
- [Herramientas de análisis de complejidad]
Última actualización: 4 de agosto de 2026 Versión de Claude Code: 2.1.220 Fuentes: - https://code.claude.com/docs/en/skills Modelos compatibles: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5