Contenido verificado asociado a este RA
Identificación de patrones de refactorización habituales
Esta unidad desarrolla el CE a del RA4: identificar los patrones de refactorización más usuales. Se define la refactorización como una modificación de la estructura interna del código que pretende conservar su comportamiento observable. Se estudian señales de código problemático, técnicas habituales y criterios para decidir cuándo una refactorización es adecuada. Los ejemplos se presentan en Java y se incluyen actividades de reconocimiento, comparación de código antes y después, justificación de decisiones y una rúbrica de evaluación. La elaboración sistemática de pruebas y el uso de analizadores, control de versiones o documentación pueden relacionarse con otros criterios del RA4, pero no se presentan aquí como resultados curriculares de esta unidad.
Pruebas Unitarias y Refactorización Segura
Esta unidad se centra en la importancia de las pruebas unitarias como salvaguarda durante el proceso de refactorización. Se aprenderá a elaborar pruebas robustas que aseguren que el comportamiento del código no se altera tras aplicar patrones de refactorización.
Revisión del código fuente mediante analizadores de código
Esta unidad aborda la revisión del código fuente mediante herramientas de análisis estático. Se estudiará qué tipos de incidencias pueden detectar estas herramientas, cómo interpretar sus resultados y cómo realizar una configuración básica de reglas, severidades y exclusiones. La actividad principal permitirá ejecutar un análisis sobre un proyecto, clasificar los resultados y justificar las correcciones aplicadas. Estos contenidos desarrollan directamente el CE 3565: «Se ha revisado el código fuente usando un analizador de código». La configuración del analizador se trata como contenido técnico relacionado con el CE 3566, sin presentarla como un requisito adicional del CE principal.
Optimización del código con herramientas del IDE: refactorización, análisis estático, pruebas, documentación y control de versiones
Esta unidad aborda, desde una perspectiva práctica, la optimización y mejora del código mediante herramientas disponibles en un entorno de desarrollo. Se trabajan la identificación y aplicación de patrones habituales de refactorización, las pruebas asociadas para comprobar que no se altera el comportamiento, la revisión mediante analizadores de código, su configuración básica, el control de versiones integrado y la documentación de clases con las herramientas del IDE. Los procedimientos concretos pueden variar según el lenguaje, el IDE y el sistema de control de versiones utilizados. Los contenidos técnicos de esta unidad sirven para desarrollar los aprendizajes asociados al RA4 y no añaden requisitos normativos distintos de los CE oficiales proporcionados.
Documentación automática de clases mediante herramientas del entorno de desarrollo
Esta unidad aborda el uso de herramientas del entorno de desarrollo para documentar clases a partir del código fuente y de comentarios estructurados. Se estudian las convenciones habituales de documentación, algunos ejemplos de herramientas como Javadoc, Doxygen, PHPDoc y Sphinx, y el proceso de generación o consulta de la documentación resultante. Las etiquetas, formatos, opciones de configuración y formatos de salida dependen del lenguaje, la herramienta y el entorno utilizados. El objetivo de aprendizaje se vincula con el CE g del RA4: utilizar herramientas del entorno de desarrollo para documentar las clases.
Conceptos clave
RefactorizaciónTécnica de refactorizaciónPatrón de diseñoCode smellComportamiento observableCohesiónAcoplamientoResponsabilidadExtraer métodoRenombrarExtraer claseMover método o campoConsolidar expresión condicionalSustituir condicional por polimorfismoObjeto nuloPruebas unitariasTDD (Test-Driven Development)Cobertura de código
Errores que conviene evitar
- Confundir refactorización con reescritura o con incorporación de funcionalidad.
- Tratar todos los code smells como errores o como obligaciones de refactorización.
- Llamar patrón de diseño a cualquier técnica de refactorización.
- Aplicar una técnica sin identificar antes el problema que pretende resolver.
- Extraer métodos o clases únicamente por tamaño, sin analizar responsabilidades.
- Usar polimorfismo cuando un condicional simple resulta más claro y estable.
- Introducir un objeto nulo y ocultar con ello un error de configuración.
- Modificar accidentalmente el comportamiento observable o el contrato público.