Exercice 1.4 : Résolution d'un problème structurel

On suppose ici que vous avez effectué les étapes de l'Exercice 1.1 : Importation des ressources requises. Dans l'exercice 1.4, vous commencez par lire un scénario mettant en jeu un ou plusieurs utilisateurs. Puis vous prenez le rôle de l'architecte logiciel décrit dans ce scénario et utilisez le projet que vous avez importé au cours de l'exercice 1.1 pour effectuer le présent exercice.



Scénario utilisateurs

Pour vérifier le code afin d'y détecter les éventuelles dépendances cycliques, l'architecte exécute une révision de code Analyse structurelle qui se limite à rechercher de telles dépendances. La révision de code trouve effectivement des dépendances cycliques et l'architecte constate qu'il existe des corrections rapides pour certaines d'entre elles. Une correction rapide est un moyen automatisé de remédier à une anomalie courante. Pour restructurer le code afin d'y éliminer les cycles, l'architecte applique la correction rapide à l'une des dépendances cycliques.

Dans le dernier exercice, l'architecte exécute une révision de code et corrige l'une des anomalies.



Exercice

Dans cet exercice, vous accomplissez les tâches suivantes :

  1. Exécuter une révision de code afin de rechercher les dépendances cycliques.
  2. Déterminer si une correction rapide est disponible pour une dépendance cyclique.
  3. Appliquer une correction rapide pour résoudre une dépendance cyclique :
  4. Obtenir une confirmation de l'application de la correction.


Sélection d'une révision de code afin de rechercher les dépendances cycliques

Pour sélectionner une révision de code recherchant les dépendances cycliques :

  1. Sur la barre d'outils de la vue Révision de code, cliquez sur l'icône Gérer les règles, .
  2. Vue Révision de code

  3. Dans la liste Sélectionnez la révision de code, cliquez sur Révision de code Analyse structurelle.
  4. Développez la branche du dossier Analyse structurelle et désélectionnez toutes les entrées excepté le sous-dossier Dépendance cyclique.
  5. Développez la branche du sous-dossier Dépendance cyclique pour voir les règles qui seront appliquées dans la révision de code, comme le montre l'illustration suivante. Cliquez sur OK.
  6. Fenêtre Préférences



Sélection d'une base de code à réviser

Pour sélectionner l'espace de travail comme base de code à réviser :

Exécution de la révision de code

Une fois que vous avez sélectionné la base de code à réviser, la révision de code s'exécute. Vous pouvez suivre son état en observant la barre de progression, dans l'angle inférieur droit de la vue.



Visualisation de la liste des dépendances cycliques détectées

Comme le montre l'écran suivant, la révision de code a trouvé quatre dépendances cycliques. Une dépendance cyclique est un anti-modèle ("anti-pattern") indésirable qui doit donc être évité. Dans une dépendance cyclique, un groupe d'objets est interconnecté d'une manière telle qu'une modification de l'un d'eux pourrait affecter tous les autres.

Anomalies dans la vue Révision de code, un dossier condensé

  1. Développez le dossier Analyse structurelle : Dépendance cyclique et examinez les anomalies qu'il contient (voir l'illustration suivante) :
  2. Anomalies dans la vue Révision de code, un dossier développé

  3. Cliquez avec le bouton droit sur la troisième anomalie dans la liste. Les choix proposés dans le menu contextuel Correction rapide varient en fonction de la solution. Pour l'anomalie sélectionnée, la correction consiste à transférer le champ statique de la classe de base vers une autre classe, ce qui a pour effet d'éliminer la dépendance cyclique.
  4. Cliquez sur Correction rapide : Sortez le champ statique de la classe de base.
  5. Menu contextuel Correction rapide pour l'anomalie sélectionnée



Application de la correction rapide

Dans le cas de la dépendance cyclique sélectionnée, la correction rapide consiste à transférer le champ statique de la classe de base vers une autre classe. Vous pouvez choisir de transférer le champ dans une classe existante ou dans une nouvelle classe.

Pour déplacer le champ vers une nouvelle classe :

  1. Dans l'illustration d'écran suivante, examinez les informations (également appelées "enchevêtrement" ou "Tangle") relatives à la dépendance cyclique que vous allez corriger. Elles sont en lecture seule.
  2. Cliquez sur Génération d'une nouvelle classe Java et entrez les informations suivantes :
  3. Spécification de la classe vers laquelle déplacer le code

  4. Cliquez sur Aperçu pour voir le code que la correction rapide modifiera.
  5. Dans la section Modifications à apporter, développez la liste pour voir précisément ce que la correction rapide changera dans le code lorsqu'elle déplacera le champ statique vers la nouvelle classe (voir l'illustration suivante).
  6. Modifications à apporter

  7. Cliquez sur la quatrième modification dans la liste (celle qui commence par Font.java) pour obtenir une vue avec juxtaposition du code d'origine et du code restructuré. Le code d'origine se trouve à gauche, tandis que le code restructuré qui sera créé par la correction rapide se trouve à droite.
  8. Code d'origine et code restructuré pour la modification sélectionnée

  9. Cliquez sur OK pour appliquer la correction rapide à toutes les modifications sélectionnées dans la liste.
  10. Une fois la correction rapide appliquée, une marque de sélection (coche) apparaît en regard de l'anomalie sélectionnée, confirmant que le problème est résolu.
  11. Révision de code, marque de sélection en regard de l'anomalie résolue

Vous avez terminé l'exercice 1.4 : Résolution d'un problème structurel



Mettre à profit la puissance des corrections rapides

Des corrections rapides sont fournies pour certaines anomalies courantes détectées par les révisions de code. En appliquant une correction rapide fournie, vous disposez d'un moyen automatisé de résoudre une dépendance cyclique. Vous pouvez :



Conclusion de l'exercice 1.4

Vous avez terminé l'exercice 1.4 : Résolution d'un problème structurel Au cours de cet exercice, vous avez accompli les tâches suivantes :

  1. Exécuter une révision de code afin de rechercher les dépendances cycliques.
  2. Déterminer si une correction rapide est disponible pour une dépendance cyclique.
  3. Appliquer une correction rapide pour résoudre une dépendance cyclique :
  4. Obtenir une confirmation de l'application de la correction.

Terminez ce tutoriel en passant en revue les objectifs de formation, dans la section Résumé.



Conditions d'utilisation | Appréciations en retour
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.