Esercizio 1.4: Risoluzione di un problema strutturale
Requisito preliminare di questo esercizio è il completamento dell'Esercizio 1.1: Importazione delle risorse necessarie. Nell'esercizio 1.4 è riportato lo scenario utente. Si assume quindi il ruolo di architetto software descritto nello scenario utente e si utilizza il progetto importato nell'esercizio 1.1 per completare l'esercizio.
Scenario utente
Per controllare il codice relativamente alle dipendenze cicliche, l'architetto esegue una revisione codice di analisi strutturale per individuare queste dipendenze. La revisione codice trova alcune dipendenze cicliche e l'architetto nota che le correzioni rapide esistono per una coppia di queste. La correzione rapida fornisce un modo automatico per la riparazione di problemi comuni. Per riorganizzare il codice affinché sia privo di cicli, l'architetto applica la correzione rapida a una dipendenza ciclica.
Nell'esercizio finale, l'architetto esegue una revisione codice e corregge uno dei risultati.
Esercizio
In questo esercizio l'architetto esegue le seguenti attività:
- Esegue una revisione codice per trovare le dipendenze cicliche.
- Riconosce quando una dipendenza ciclica presenta una correzione rapida fornita.
- Applica una correzione rapida per risolvere una dipendenza ciclica:
- Vede un elenco di modifiche da eseguire.
- Visualizza il codice esistente e riorganizzato per ogni modifica.
- Ottiene una conferma che la correzione rapida è stata applicata.
Selezione di una revisione codice per la verifica delle dipendenze cicliche
Per selezionare una revisione codice che verifica le dipendenze cicliche:
- Sulla barra degli strumenti nella vista Revisione codice, fare clic sull'icona Gestisci regole,
.

- Nell'elenco Seleziona revisione codice, fare clic su Revisione codice di analisi strutturale.
- Espandere la cartella Analisi strutturale e cancellare tutto tranne la sottocartella Dipendenza ciclica.
- Espandere la sottocartella Dipendenza ciclica per vedere le regole che vengono applicate nella revisione codice, come mostrato nella seguente immagine. Fare clic su OK.

Selezione di una base di codice da revisionare
Per selezionare lo spazio di lavoro come base del codice da revisionare:
- Sulla barra degli strumenti in vista Revisione codice fare clic sull'icona Revisiona(
) > Revisiona spazio di lavoro.
Esecuzione della revisione codice
Una volta selezionata la base codice da revisionare, si esegue la revisione codice. È possibile tracciare lo stato verificando la barra progressiva nell'angolo in basso a destra della vista.
Visualizzazione dell'elenco delle dipendenze cicliche trovate
La revisione codice ha trovato quattro dipendenze cicliche, come mostrato nella seguente immagine. Una dipendenza ciclica è un anti-schema non desiderabile che deve essere evitato. In una dipendenza ciclica, un gruppo di oggetti viene così interconnesso che una modifica a un oggetto può compromettere tutti gli altri.

- Espandere la cartella Analisi strutturale: dipendenza ciclica e notare i seguenti risultati, come mostrato nella seguente immagine.

- A ogni dipendenza ciclica viene assegnato il livello di severità del problema più elevato (
).
- Due delle dipendenze cicliche presentano una correzione rapida (
) per eliminare la dipendenza.
- Fare clic con il pulsante destro sul terzo risultato nell'elenco. La scelta del menu a comparsa Correzione rapida varia in base alla soluzione. Per la dipendenza ciclica selezionata, la correzione è quella dello spostamento del campo statico dalla classe di base a un'altra classe, eliminando la dipendenza ciclica.
- Fare clic su Correzione rapida: spostare il campo statico dalla classe di base.

Applicazione della correzione rapida
La correzione rapida per la dipendenza ciclica selezionata è quella di spostare il campo statico dalla classe di base in un'altra classe. È possibile scegliere di spostare il campo in una classe esistente o in una nuova classe.
Per spostare il campo in una nuova classe:
- Nella seguente immagine, revisionare le informazioni di sola lettura relative alla dipendenza ciclica, meglio nota come tangle, che ci si accinge a correggere:
- Le classi sono parte della tangle
- Le dipendenze tra le classi nella tangle
- Fare clic su Genera una nuova classe Java e digitare:
- src/ per il nome della cartella di origine
- com.ibm.r2a.rules.rsa.examples per il nome del pacchetto
- Predefiniti per il nome della classe

- Fare clic su Anteprima per vedere il codice che la correzione rapida modifica.
- Espandere l'elenco Modifiche da effettuare , come mostrato nella seguente immagine, per vedere esattamente quali modifiche eseguire al codice quando sposta il campo statico nella nuova classe.

- Fare clic sulla quarta modifica nell'elenco, che inizia con Font.java, per avere una vista progressiva del codice. Il codice originale è sulla sinistra e il codice riorganizzato che viene creato da una correzione rapida sulla destra.

- Fare clic su OK per applicare una correzione rapida a tutte le modifiche selezionate nell'elenco.
- Dopo aver applicato una correzione rapida, viene visualizzato un segno di spunta per confermare che il problema è stato risolto.

È stato completato l'Esercizio 1.4: Risoluzione di un problema strutturale.
Sfruttamento delle potenzialità delle correzioni rapide
Le correzioni rapide fornite per alcuni risultati comuni nelle revisioni codice. Applicando una correzione rapida fornita, esiste un modo automatizzato per risolvere una dipendenza ciclica. È possibile:
- Identificare e valutare le dipendenze cicliche.
- Eliminare la dipendenza in modo rapido utilizzando la correzione rapida.
- Consultare l'elenco delle modifiche apportate al codice dalla correzione rapida.
- Correggere la dipendenza ciclica ad ogni occorrenza.
Riepilogo esercizio 1.4
È stato completato l'Esercizio 1.4: Risoluzione di un problema strutturale. Sono state effettuate le seguenti attività:
- Eseguire una revisione codice per ricercare le dipendenze cicliche.
- Riconoscere quando una dipendenza ciclica presenta una correzione rapida possibile.
- Applicare una correzione rapida per risolvere una dipendenza ciclica:
- Visualizzare un elenco di modifiche da eseguire.
- Visualizzare il codice esistente e riorganizzarlo ad ogni modifica.
- Individuare la conferma che la correzione rapida è stata applicata.
Finire l'esercitazione revisionando gli obiettivi di apprendimento nel Riepilogo.