Ejercicio 1.4: Resolución de un problema estructural
En este ejercicio se da por supuesto que se ha terminado el Ejercicio 1.1: Importación de los recursos necesarios. En el Ejercicio 1.4 ha leído primero un caso de ejemplo de usuario. A continuación, ha asumido el papel de arquitecto de software descrito en el caso de ejemplo de usuario y ha utilizado el proyecto importado en el Ejercicio 1.1 para finalizar el ejercicio.
Caso de ejemplo de un usuario
Para comprobar el código específicamente en lo que respecta a las dependencias cíclicas, el arquitecto lleva a cabo una revisión de análisis estructural del código que busca sólo este tipo de dependencias. La revisión del código encuentra ciertas dependencias cíclicas y el arquitecto se da cuenta que hay arreglos rápidos para algunas de ellas. Un arreglo rápido es una forma automatizada suministrada de reparar un hallazgo común. Para transformar el código con el fin de que quede libre de ciclos, el arquitecto aplica el arreglo rápido a una dependencia cíclica.
En el último ejercicio, el arquitecto lleva a cabo una revisión del código y arregla uno de los hallazgos.
Ejercicio
En este ejercicio se realizan las tareas siguientes:
- Llevar a cabo una revisión para encontrar dependencias cíclicas.
- Reconocer cuándo una dependencia cíclica tiene un arreglo rápido.
- Aplicar un arreglo rápido para resolver una dependencia cíclica.
- Ver una lista de cambios que se han de realizar.
- Ver un código existente y transformado para cada cambio.
- Obtener una confirmación indicando que se ha aplicado el arreglo rápido.
Selección de una revisión del código para comprobar las dependencias cíclicas
Para seleccionar una revisión del código que compruebe las dependencias cíclicas:
- En la barra de herramientas de la vista Revisión del código, pulse el icono Gestionar reglas,
.

- En la lista Selección de una revisión del código, pulse Revisión de análisis estructural del código.
- Expanda la carpeta Análisis estructural y borre todo menos la subcarpeta Dependencia cíclica.
- Expanda la subcarpeta Dependencia cíclica para ver las reglas que se aplicarán en la revisión del código, tal como muestra la captura de pantalla siguiente. Pulse Aceptar.

Selección de una base de código para revisar
Para seleccionar el espacio de trabajo como base de código para revisar:
- En la barra de herramientas de la vista Revisión del código, pulse el icono Revisión (
) > Espacio de trabajo de revisión.
Ejecución de una revisión del código
Tras seleccionar la base de código que se ha de revisar, se lleva a cabo la revisión del código. Puede realizar un seguimiento del estado comprobando la barra de progreso de la esquina inferior derecha que aparece en la vista.
Visualización de la lista de las dependencias cíclicas encontradas
La revisión del código ha encontrado cuatro dependencias cíclicas, tal como muestra la captura de pantalla siguiente. Una dependencia cíclica es un patrón contrario que se debe evitar. En una dependencia cíclica, un grupo de objetos está interconectado de tal manera que un cambio en cualquier objeto podría afectar a todos los demás.

- Expanda la carpeta Análisis estructural: Dependencia cíclica y observe los hallazgos siguientes que aparecen en ella, según muestra la captura de pantalla siguiente:

- Cada dependencia cíclica tiene asignado el nivel de gravedad de problema más elevado (
).
- Dos de las dependencias cíclicas tienen un arreglo rápido (
) para eliminar la dependencia.
- Pulse el botón derecho del ratón sobre el tercer hallazgo de la lista. La opción del menú emergente Arreglo rápido varía en función de la solución. Para la dependencia cíclica que ha seleccionado, el arreglo consiste en mover el campo estático de la clase básica a otra clase, eliminando así la dependencia cíclica.
- Pulse Arreglo rápido: Quite el campo estático de la clase básica.

Aplicación del arreglo rápido
El arreglo rápido para la dependencia cíclica que ha seleccionado consiste en mover el campo estático de la clase básica a otra clase. Puede elegir mover el campo a una clase existente o a una clase nueva.
Para mover el campo a una clase nueva:
- En la captura de pantalla siguiente, revise la información de sólo lectura acerca de la dependencia cíclica, que también recibe el nombre de confusión, que va a arreglar:
- Clases que forman parte de la confusión
- Dependencias entre clases en la confusión
- Pulse Generar una nueva clase Java y escriba:
- src/ para el nombre de la carpeta de origen
- com.ibm.r2a.rules.rsa.examples para el nombre del paquete
- Por omisión para el nombre de clase

- Pulse Vista preliminar para ver el código que cambiará el arreglo rápido.
- Expanda la lista Cambios para realizar, tal como muestra la captura de pantalla siguiente, para ver los cambios que llevará a cabo el arreglo rápido en el código cuando mueva el campo estático a la clase nueva.

- Pulse el cuarto cambio de la lista, el que comienza por Font.java, para ver una vista con dos lados, uno junto al otro, del código. El código original se encuentra en la parte izquierda y el código transformado que creará el arreglo rápido se encuentra en la parte de la derecha.

- Pulse Aceptar para aplicar el arreglo rápido en todos los cambios seleccionados de la lista.
- Tras aplicar el arreglo rápido, aparecerá una marca de selección como confirmación para que sepa que se ha resuelto el problema.

Ha finalizado el Ejercicio 1.4: Resolución de un problema estructural.
Implicaciones de los arreglos rápidos
Los arreglos rápidos se suministran para ciertos hallazgos comunes de las revisiones del código. La aplicación de un arreglo rápido proporcionado representa una forma automatizada de resolver una dependencia cíclica. Puede:
- Identificar y evaluar dependencias cíclicas.
- Eliminar la dependencia de forma rápida con un arreglo rápido automatizado.
- Ver una lista de los cambios exactos que realizará el arreglo rápido en el código.
- Arreglar la dependencia cíclica de forma coherente cada vez.
Resumen del Ejercicio 1.4
Ha finalizado el Ejercicio 1.4: Resolución de un problema estructural. En este ejercicio ha realizado las tareas siguientes:
- Llevar a cabo una revisión del código para encontrar dependencias cíclicas.
- Reconocer cuándo una dependencia cíclica tiene un arreglo rápido.
- Aplicar un arreglo rápido para resolver una dependencia cíclica.
- Ver una lista de cambios que se han de realizar.
- Ver un código existente y transformado para cada cambio.
- Ha obtenido una confirmación indicando que se ha aplicado el arreglo rápido.
Termine la guía de aprendizaje revisando los objetivos de aprendizaje en el apartado Resumen.