Exercice 1.4 : Résolution d'un incident structurel
Dans cet exercice, on part du principe que vous avez terminé l'exercice 1.1 : Importation des ressources requises. Cet exercice contient un scénario utilisateur que vous devez lire en premier. Assumez ensuite le rôle d'architecte de logiciels qui est décrit dans le scénario utilisateur, puis utilisez le projet que vous avez importé dans l'exercice 1.1 pour terminer l'exercice.
Scénario utilisateur
Pour vérifier si le code comporte notamment des dépendances cycliques, l'architecte exécute une révision de code Analyse structurelle, qui permet de rechercher uniquement les dépendances de ce type. La révision de code détecte quelques dépendances cycliques et l'architecte constate que des correctifs rapides existent pour deux d'entre elles. Un correctif rapide est une méthode automatisée fournie, qui permet de réparer une anomalie courante. Pour restructurer le code de sorte qu'il soit dépourvu de cycles, l'architecte applique le correctif rapide à une dépendance cyclique.
Dans le dernier exercice, l'architecte exécute une révision de code et corrige une des anomalies.
Exercice
Dans cet exercice, procédez comme suit :
- Exécutez une révision de code pour rechercher des dépendances cycliques.
- Déterminez si un correctif rapide fourni est disponible pour une dépendance cyclique.
- Appliquez un correctif rapide pour résoudre une dépendance cyclique :
- Consultez la liste des modifications à apporter.
- Visualisez le code existant et le code restructuré correspondant à chaque modification.
- Obtenez une confirmation selon laquelle le correctif rapide a été appliqué.
Sélection d'une révision de code permettant de rechercher des dépendances cycliques
Pour sélectionner une révision de code qui permet de rechercher des dépendances cycliques, procédez comme suit :
- Dans la barre d'outils de la vue Révision de code, cliquez sur l'icône Gérer les règles,
.

- Dans la liste Sélectionnez la révision de code, cliquez sur Révision de code Analyse structurelle.
- Développez le dossier Analyse structurelle et effacez tous les éléments, à l'exception du sous-dossier Dépendance cyclique.
- Développez le sous-dossier Dépendance cyclique pour visualiser les règles qui vont être appliquées dans la révision de code, comme illustré dans la capture d'écran ci-dessous. Cliquez sur OK.

Sélection d'une base de code à réviser
Pour sélectionner l'espace de travail comme base de code à réviser, procédez comme suit :
- Dans la barre d'outils de la vue Révision de code, cliquez sur l'icône Révision (
) > Révision de l'espace de travail.
Exécution de la révision de code
Une fois que vous sélectionnez la base de code à réviser, la révision de code s'exécute. Vous pouvez suivre son état en vérifiant la barre de progression située dans l'angle inférieur droit de la vue.
Affichage de la liste des dépendances cycliques détectées
La révision de code a détecté quatre dépendances cycliques, comme illustré dans la capture d'écran ci-dessous. Une dépendance cyclique est un anti-pattern non souhaitable qui doit être évité. Dans une dépendance cyclique, un groupe d'objets est si interconnecté qu'une modification apportée à un objet peut avoir une incidence sur tous les autres objets.

- Développez le dossier Analyse structurelle : Dépendance cyclique et notez les anomalies suivantes qu'il contient, comme illustré dans la capture d'écran ci-dessous :

- Le niveau de gravité maximal Incident (
) est affecté à chaque dépendance cyclique.
- Deux des dépendances cycliques comportent un correctif rapide (
) qui permet de supprimer la dépendance.
- Cliquez à l'aide du bouton droit de la souris sur la troisième anomalie de la liste. L'option de menu en incrustation Correctif rapide varie selon la solution. Pour la dépendance cyclique que vous avez sélectionnée, le correctif consiste à déplacer le champ statique de la classe de base vers une autre classe, ce qui permet de supprimer la dépendance cyclique.
- Cliquez sur Correctif rapide : Sortez le champ statique de la classe de base.

Application du correctif rapide
Le correctif rapide de la dépendance cyclique que vous avez sélectionnée consiste à déplacer le champ statique de la classe de base vers une autre classe. Vous pouvez choisir de placer le champ dans une classe existante ou dans une nouvelle classe.
Pour placer le champ dans une nouvelle classe, procédez comme suit :
- Dans la capture d'écran qui suit, consultez les informations en lecture seule relatives à la dépendance cyclique, également appelée enchevêtrement, que vous allez corriger :
- Classes faisant partie de l'enchevêtrement
- Dépendances entre les classes dans cet enchevêtrement
- Cliquez sur Génération d'une nouvelle classe Java et entrez ce qui suit :
- src/ pour le nom du dossier source
- com.ibm.r2a.rules.rsa.examples pour le nom de package
- Defaults pour le nom de classe

- Cliquez sur Aperçu pour afficher le code que le correctif rapide va modifier.
- Développez la liste des modifications à effectuer, comme illustré dans la capture d'écran ci-dessous, afin de déterminer exactement les modifications apportées par le correctif rapide au code lorsque le champ statique est déplacé vers la nouvelle classe.

- Cliquez sur la quatrième modification dans la liste, qui commence par Font.java, pour afficher une vue juxtaposée du code. Le code d'origine est situé à gauche et le code restructuré qui va être créé par le correctif rapide est situé à droite.

- Cliquez sur OK pour appliquer le correctif rapide à toutes les modifications sélectionnées dans la liste.
- Une fois le correctif rapide appliqué, une marque de sélection confirmant que l'anomalie est résolue apparaît.

Vous avez terminé l'exercice 1.4 : Résolution d'un incident structurel.
Avantages des correctif rapides
Les correctifs rapides sont fournis pour certaines anomalies courantes dans les révisions de code. En appliquant un correctif rapide fourni, vous disposez d'une méthode automatisée permettant de résoudre une dépendance cyclique. Vous pouvez :
- identifier et évaluer les dépendances cycliques ;
- supprimer rapidement la dépendance à l'aide d'un correctif rapide automatisé ;
- consulter la liste des modifications que le correctif rapide apporte au code ;
- corriger la dépendance cyclique de façon cohérente chaque fois qu'elle se produit.
Récapitulatif de l'exercice 1.4
Vous avez terminé l'exercice 1.4 : Résolution d'un incident structurel. Dans cet exercice :
- Vous avez exécuté une révision de code pour rechercher des dépendances cycliques.
- Vous avez déterminé si un correctif rapide fourni est disponible pour une dépendance cyclique.
- Vous avez appliqué un correctif rapide pour résoudre une dépendance cyclique :
- vous avez consulté la liste des modifications à apporter ;
- vous avez visualisé le code existant et le code restructuré correspondant à chaque modification.
- Vous avez obtenu une confirmation selon laquelle le correctif rapide a été appliqué.
Terminez le tutoriel en consultant les objectifs d'apprentissage figurant dans la section Résumé.