2014_2015:s3:concprogobjet:td:reverse-engineering
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 2014_2015:s3:concprogobjet:td:reverse-engineering [2014/11/22 16:27] – [Conventions de codage et de style : Utilisation du plugin CheckStyle] blay | 2014_2015:s3:concprogobjet:td:reverse-engineering [2014/11/26 09:50] (current) – [Métriques : utilisation du plugin Metrics de Eclipse] blay | ||
|---|---|---|---|
| Line 45: | Line 45: | ||
| - Vous pouvez double-cliquer sur les métriques pour les voir en détail en particulier pour visualiser les valeurs maximales. Les éléments enfants à chaque niveau sont triés par ordre décroissant métrique (maximum ). | - Vous pouvez double-cliquer sur les métriques pour les voir en détail en particulier pour visualiser les valeurs maximales. Les éléments enfants à chaque niveau sont triés par ordre décroissant métrique (maximum ). | ||
| - Etudiez les valeurs des métriques obtenues. | - Etudiez les valeurs des métriques obtenues. | ||
| - | * Sont-elles dans les limites souhaitées? | + | * Sont-elles dans les limites souhaitées? |
| * Dans quel cas, ne sont-elles pas dans la limite souhaitée? Qu'en pensez-vous? | * Dans quel cas, ne sont-elles pas dans la limite souhaitée? Qu'en pensez-vous? | ||
| * Que pensez-vous de la classe //Graphe// : | * Que pensez-vous de la classe //Graphe// : | ||
| Line 120: | Line 120: | ||
| - Nous allons définir nos propres règles, donc nous commençons par définir votre propre configuration : sélection du projet -> properties, puis checkstyle {{ : | - Nous allons définir nos propres règles, donc nous commençons par définir votre propre configuration : sélection du projet -> properties, puis checkstyle {{ : | ||
| - Sélectionner Local Check Configuration -> New {{ : | - Sélectionner Local Check Configuration -> New {{ : | ||
| - | - sélectionner | + | - Sélectionner |
| - | - Vous choisissez | + | - Visualisez alors les règles rangées par catégorie. |
| + | - Choisissez | ||
| * la duplication de code | * la duplication de code | ||
| * le nommage des variables | * le nommage des variables | ||
| * le nommage des packages, mais vous le modifiez pour forcer le nom des packages à se terminer par " | * le nommage des packages, mais vous le modifiez pour forcer le nom des packages à se terminer par " | ||
| - | - Effacer les violations précédentes (projet -> checkstyle -> clear checkstyle violation. {{ : | + | - Effacer les violations précédentes (projet -> checkstyle -> clear checkstyle violation. {{ : |
| - | {{ : | + | |
| - Visualiser les erreurs sur un graphique | - Visualiser les erreurs sur un graphique | ||
| - Sélectionner juste à côté de la vue Checkstyle la visualisation graphique (les 4 couleurs) {{ : | - Sélectionner juste à côté de la vue Checkstyle la visualisation graphique (les 4 couleurs) {{ : | ||
| Line 160: | Line 160: | ||
| examination. | examination. | ||
| + | Attention c'est des recommandations seulement. Par exemple, dans les tests certaines valeurs ne doivent évidemment pas être définies comme des constantes. | ||
| !--> | !--> | ||
| </ | </ | ||
| - | Attention c'est des recommandations seulement. Par exemple, dans les tests certaines valeurs ne doivent évidemment pas être définies comme des constantes. | + | |
| ===== PMD ===== | ===== PMD ===== | ||
| Line 173: | Line 174: | ||
| * //"Il couvre un large spectre, en termes de contrôle (de la convention de nommage au calcul de complexité cyclomatique) et il fournit, en standard, près de 300 règles « prêtes à l' | * //"Il couvre un large spectre, en termes de contrôle (de la convention de nommage au calcul de complexité cyclomatique) et il fournit, en standard, près de 300 règles « prêtes à l' | ||
| En savoir plus sur le choix : (cf. [[http:// | En savoir plus sur le choix : (cf. [[http:// | ||
| + | |||
| ==== Exécuter PMD ==== | ==== Exécuter PMD ==== | ||
| + | **Questions :** | ||
| + | - Sélectionner le projet -> propriétés -> PMD -> activer PMD | ||
| + | - Clique droit sur le projet puis PMD vérifier le projet {{ : | ||
| + | - Pour mieux voir les erreurs, ouvrir une nouvelle vue PMD {{ : | ||
| + | - Etudier les erreurs relevées Pour comprendre les erreurs pensez à cliquer sur l' | ||
| + | - Rechercher les codes dupliqués et étudier les duplications... et sur vos propres codes. {{ : | ||
| + | - Générer le rapport PMD {{ : | ||
| + | - Etudier les erreurs relevées dans vos propres codes. | ||
| + | |||
| + | < | ||
| + | <!-- | ||
| 1- Fabriquons un exemple pour être sûr d' | 1- Fabriquons un exemple pour être sûr d' | ||
| Line 198: | Line 211: | ||
| } | } | ||
| </ | </ | ||
| - | + | !--> | |
| - | 2- Clique droit sur le projet puis PMD vérifier le projet | + | </ |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 3- Pour mieux voir les erreurs, ouvrir une nouvelle vue PMD | + | |
| - | {{ : | + | |
| - | + | ||
| - | 4- Générer le rapport PMD | + | |
| - | {{ : | + | |
| - | + | ||
| - | 5- Etudier les erreurs relevées dans la nouvelle classe, dans les codes existants et dans vos propres codes. | + | |
| - | + | ||
| - | Pour comprendre les erreurs pensez à cliquer sur l' | + | |
| - | + | ||
| - | {{ : | + | |
| ==== Configurer PMD ==== | ==== Configurer PMD ==== | ||
| 1- Sélectionner eclipse -> Preferences -> PMD | 1- Sélectionner eclipse -> Preferences -> PMD | ||
| Line 222: | Line 221: | ||
| {{ : | {{ : | ||
| + | ==== Allons plus loin, comment PMD fonctionne ? ==== | ||
| + | |||
| + | * http:// | ||
| + | * http:// | ||
| + | * Quelles règles? http:// | ||
| + | < | ||
| + | <!-- | ||
| ==== Découverte de l' | ==== Découverte de l' | ||
| Line 234: | Line 240: | ||
| * La classe Theorie.java est notée comme une GOD Class ? Pourquoi ? (trop de méthodes) | * La classe Theorie.java est notée comme une GOD Class ? Pourquoi ? (trop de méthodes) | ||
| {{ : | {{ : | ||
| - | ==== Utilisation personnelle de PMD ==== | ||
| - | Appliquer PMD sur vos propres codes. | ||
| - | ==== Allons plus loin, comment PMD fonctionne ? ==== | ||
| - | * http:// | ||
| - | * http:// | ||
| - | * Quelles règles? http:// | ||
| ===== Reverse Engineering ===== | ===== Reverse Engineering ===== | ||
| Line 257: | Line 257: | ||
| * Cette visualisation doit se faire sur une sous-partie. Sélectionner quelques classes qu'il vous semble intéressant de visualiser. | * Cette visualisation doit se faire sur une sous-partie. Sélectionner quelques classes qu'il vous semble intéressant de visualiser. | ||
| - Generate sequence or collaboration diagrams | - Generate sequence or collaboration diagrams | ||
| + | |||
| + | |||
| Line 290: | Line 292: | ||
| Mais on a quand même 14,9Mo... | Mais on a quand même 14,9Mo... | ||
| + | !--> | ||
| + | </ | ||
2014_2015/s3/concprogobjet/td/reverse-engineering.1416673629.txt.gz · Last modified: 2014/11/22 16:27 by blay