2.13.18 SE/Técnicas de Refactorización
Temas:
Core
- Refactorización
- Patrones de refactorización estándar (renombrar, integrar, extraer, etc.)
- Uso de herramientas de refactorización en el IDE
- Aplicación de herramientas de análisis estático (para identificar código que necesita refactorización, generar cambios, etc.)
- Valor de la refactorización como remedio para la deuda técnica
Non Core
- Refactorización "a Gran Escala": técnicas cuando un cambio de refactorización es demasiado grande para comprometerlo de forma segura (proyectos grandes), o cuando es imposible sincronizar el cambio entre proveedor + todos los consumidores (múltiples repositorios, consumidores con código privado).
- Expresar tanto las API antiguas como las nuevas para que puedan coexistir.
- Minimizar el tamaño de los cambios de comportamiento.
- ¿Por qué se requieren estas técnicas?. Por ejemplo, "consumidores de API que puedo ver" vs "consumidores que no puedo ver").
Aprendizaje esperado (Learning Outcomes):
Core:
- Considerar las entradas de herramientas de análisis estático y/o los principios de Diseño de Software para identificar código que necesita refactorización [Analizar]
- Refactorizar la implementación de una interfaz para mejorar el diseño, claridad, etc., con impacto mínimo/cero en los usuarios existentes [Crear]
NonCore:
- Planificar una refactorización compleja de múltiples pasos para cambiar el comportamiento predeterminado de una API de manera segura [Planear]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM