Esercizio 1.4: Risoluzione di un problema strutturale
Questo esercizio presuppone che sia stato completato l'Esercizio 1.1: Importazione delle risorse richieste. Nell'Esercizio 1.4 è stato letto prima di tutto lo scenario utente. Pertanto utilizzare il ruolo analista programmatore indicato nello scenario utente e usare il progetto importato nell'Esercizio 1.1 al fine di completare l'esercizio.
Scenario utente
Per controllare il codice specificatamente per dipendenze cicliche, l'analista programmatore esegue una verifica del codice di analisi strutturale che ricerca solo tali dipendenze. La revisione del codice non rileva alcune delle dipendenze cicliche e l'analista programmatore individua la presenza di correzioni rapide per alcune dipendenze. Una correzione rapida è un metodo automatizzato di ripristinare una ricerca comune. Per ricalcolare il fattore del codice in modo che venga liberato dai cicli, l'analista programmatore applica la correzione rapida ad una dipendenza ciclica.
Nell'esercizio finale, l'analista programmatore esegue una revisione del codice e corregge uno degli esempi di ricerca.
Esercizio
In questo esercizio vengono eseguite le seguenti attività:
- Esecuzione di una revisione del codice per rilevare dipendenze cicliche.
- Riconoscimento di una dipendenza ciclica con correzione rapida integrata.
- Applicazione di una correzione rapida per risolvere una dipendenza ciclica:
- Visualizzazione di un elenco con modifiche inserite.
- Visualizzazione di un codice di ricalcolo fattore e un codice esistente per ciascuna modifica.
- Ricezione di una conferma una volta applicata la correzione rapida.
Selezione di una revisione codice per ricercare dipendenze cicliche
Per selezionare una revisione codice che ricerchi dipendenze cicliche:
- Dalla barra degli strumenti della vista Codice revisione fare clic sull'icona Gestione regole,
.

- Nell'elenco Selezione revisione codice, fare clic su Revisione codice analisi strutturale.
- Espandere la cartella Structural Analysis e cancellarne il contenuto ad eccezione della sottocartella Cyclic Dependency.
- Espandere la sottocartella Cyclic Dependency per visualizzare le regole che verranno applicate alla revisione codice, come mostrato nel seguente screen capture. Fare clic su OK.

Selezione una base di codice da revisionare
Per selezionare lo spazio di lavoro come base di codice da revisionare:
- Dalla barra degli strumenti nella vista Revisione codice, far clic sull'icona Revisione (
) >Spazio di lavoro codice.
Esecuzione della revisione codice
Una volta selezionato il codice di base da revisionare, viene eseguita la revisione del codice. E' possibile tenere traccia dello stato controllando la barra di avanzamento nell'angolo inferiore destro della vista.
Visualizzazione dell'elenco di dipendenze cicliche rilevate
La revisione codice ha rilevato quattro dipendenze cicliche, come mostrato nello screen capture successivo. Una dipendenza ciclica è un anti-modello che dovrebbe essere evitato. In una dipendenza ciclica, un gruppo di oggetti è talmente interconnesso che una modifica a un eventuale oggetto potrebbe influenzare tutti gli altri.

- Espandere la cartella Analisi strutturale: Dipendenza ciclica e notare eventuali esempi di ricerca in essa contenuti, come mostrato nello screen capture successivo:

- Ciascuna dipendenza ciclica contiene, ad essa associata, un livello di severità più alto del problema (
).
- Due delle dipendenze cicliche dispone di una correzione rapida (
) per eliminare la dipendenza.
- Fare clic con il tastino destro del mouse sul terzo esempio di ricerca presente nell'elenco. La scelta del menu a comparsa Correzione rapida varia a seconda della soluzione. Per la dipendenza ciclica selezionata, la correzione consiste nel rimuovere il campo statico dalla classe di base verso un'altra, quindi eliminare la dipendenza ciclica.
- Fare clic su Correzione rapida: Spostare il campo statico dalla classe base.

Applicazione della correzione rapida
La correzione rapida per la dipendenza ciclica selezionata, consiste nel rimuovere il campo statico dalla classe di base verso un'altra. E' possibile scegliere di spostare il campo su una classe esistente o su una nuova.
Per spostare un campo su una nuova classe:
- Nello screen capture successivo, rivedere le informazioni di sola lettura sulla dipendenza ciclica, detta anche tangle, che si sta per correggere:
- Classi appartenenti al tangle
- Dipendenze tra classi nel tangle
- Fare clic su Genera una nuova classe Java e immettere:
- src/ per il nome cartella di origine
- com.ibm.r2a.rules.rsa.examples per il nome del pacchetto
- Predefiniti per il nome classe

- Fare clic su anteprima per visualizzare il codice che verrà modificato dalla correzione rapida.
- Espandere l'elenco Modifiche da eseguire, come mostrato nel seguente screen capture, per visualizzare esattamente le modifiche effettuate dalla correzione rapida al codice, quando viene spostato il campo statico su una una nuova classe.

- Fare clic sulla quarta modifica presente nell'elenco, che inizia per Font.java, per visualizzare una vista affiancata del codice. Il codice originale si trova sul lato sinistro e il codice di ricalcolo fattore che verrà creato dalla correzione rapida si troverà a destra.

- Fare clic su OK per applicare la correzione rapida a tutte le modifiche selezionate nell'elenco.
- Una volta applicata la correzione rapida, viene visualizzato un segno di spunta come conferma per la risoluzione del problema.

Esercizio 1.4 completato: Risoluzione di un problema strutturale.
Come sfruttare le correzioni rapide
Le correzioni rapide vengono fornite per alcuni esempi di ricerca contenuti nelle revisione del codice. Applicando una correzione rapida, si dispone di un modo automatizzato per risolvere una dipendenza ciclica. E' possibile:
- Identificare e valutare dipendenze cicliche.
- Eliminare rapidamente la dipendenza utilizzando una correzione rapida.
- Visualizzare un elenco delle modifiche precise effettuate dalla correzione rapida al codice.
- Correggere ogni volta costantemente la dipendenza ciclica.
Esercizio 1.4 conclusivo
E' stato completato l'Esercizio 1.4: Risoluzione di un problema strutturale. In tale esercizio sono state eseguite le seguenti attività:
- Eseguita la revisione di un codice per la ricerca di dipendenze cicliche.
- Riconosciuta una dipendenza ciclica con correzione rapida integrata.
- Applicata una correzione rapida per risolvere una dipendenza ciclica.
- Visualizzato un elenco con modifiche inserite.
- Visualizzato un codice di ricalcolo fattore e un codice esistente per ciascuna modifica.
- Ricevuta una conferma una volta applicata la correzione rapida.
Terminare questo supporto didattico riesaminando gli obiettivi contenuti nel Riepilogo.