af Raymundo Perfecto Fabros Serwelas 1 år siden
154
Mere som dette
Adaptación del código para hacerlo más legible y facilitar su mantenimiento
Verificar que hace lo que se desea
CATEGORÍAS DE REFACTORIZACIÓN
NIVEL CLASE
REFACTORIZACIÓN DE MOVER CAMPOS
- Antes de mover campos
- No acceder a variables sino a través de getters y setters
- Usar getters y setters
CONDICIONALES
DEBEN LEERSE FÁCILMENTE
CONSOLIDAR LA EXPRESIÓN CONDICIONAL
- Cuando existen varios condicionales que devuelven un mismo valor resulta útil unificarlos en una expresión.
DESCOMPONER UN CONDICIONAL
- Crear un método con dicha expresión - Crear método con acciones a realizar por if/else - Código resultante será más legible y se encapsula en métodos sus acciones. Así reusarse y facilitar la depuración.
NIVEL MÉTODO
EXTRACCIÓN DE MÉTODO
MOVER MÉTODOS DE UNA CLASE A OTRA
- Revisar el código - Comprobar superclase/subclase - Renombrar método - Reemplazar llamadas
AÑADIR VARIABLES TEMPORALES
- Divide una variable temporal - Introduce una variable explicativa - Quita asignaciones a parámetros
ELIMINAR VARIABLES TEMPORALES
- Dificulta la depuración - Extraer la expresión que calcula el valor de la variable a un método sencillo y retornarlo - Aumento de reusabilidad de código - Cuidado que la variable no aparezca en más lugares
REFACTORIZACIÓN EN LÍNEA
- Incluir el código de 2 método en uno - Proceso inverso al de extracción inverso - Útil para métodos que no aportan valor - Cuidado con que el método no esté llamado desde otro sitio
- Dividir método en varios - Aumenta la reutilización de código - Cuidado con el uso de parámetros y variables
- El programador debe decidir en cada momento cuál es adecuada
- No siempre se usan las mismas
- No existe un orden
Mejorar el rendimiento
Añadir características
Buscar errores.
JAVA
JAVADOC
COMENTARIOS
Se realiza una explicación de lo que hace el método o para que requiere la clase.
Se incluyen las etiquetas (necesarias)
UTILIZA PRE Y POST CONDICIONES
Postcondiciones : estado final a la salida (objeto)
Precondiciones : requisitos de entrada
@author - Programador/a @param - Parámetro de entrada @return - Valor de salida @see - Enlace a otra clase/método @throws - Excepciones a ser tratadas @version - Versión del método/clase
DEBE APARECER JUSTO ANTES DEL CÓDIGO A DOCUMENTAR
- Antes del método
- Antes de la clase
- Comentarios para el programador
/* COMENTARIO DE MÚLTIPLES LÍNEAS
// COMENTARIO DE UNA LÍNEA
- Comentario a incluir /** TEXTO */
- Documentación en HTML.
- Permite aunar documentación e implementaciones
Objetivo
- Control simple sobre cambios
- Genera automáticamente la documentación a partir del código fuente en JAVA.
/** DOCUMENTACIÓN JAVADOC */ (Generar documentación automática)
/* LINEAS * * LINEAS */ (Explican algoritmos/bloques de código)
// Una línea (Repetir/explicar sentencias)
- Describen el propósito del código
- Marcan el código
- Explican el código
- Repiten el código
- Facilita la depuración
- Facilita la comprensión del código
- Facilita la reusabilidad