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 15:03] – [Métriques : utilisation du plugin Metrics de Eclipse] 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 99: | Line 99: | ||
| Notre objectif dans cette partie est de comprendre | Notre objectif dans cette partie est de comprendre | ||
| - | | + | |
| - | | + | |
| < | < | ||
| Line 110: | Line 110: | ||
| </ | </ | ||
| - | 1- Activer CheckStyle dans le projet | + | **Questions** |
| - | {{ : | + | |
| - | 2- Afficher la vue " | + | - Activer CheckStyle dans le projet {{ : |
| - | {{ : | + | |
| + | - Et dans vos codes quelles erreurs de style détectez-vous? | ||
| + | - Configurer les règles pour votre projet | ||
| + | - Dans Eclipse -> preference -> CheckStyle | ||
| + | - Vous visualisez alors les règles par défaut de tous les projets. Prenez le temps de les regarder et d'en comprendre certaines. {{ : | ||
| + | - 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 la configuration puis faire configure | ||
| + | - Visualisez alors les règles rangées par catégorie. | ||
| + | - Choisissez à présent les règles que vous voulez vérifier dans votre projet. | ||
| + | * la duplication de code | ||
| + | * le nommage des variables | ||
| + | * 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. {{ : | ||
| + | - Visualiser les erreurs sur un graphique | ||
| + | - Sélectionner juste à côté de la vue Checkstyle la visualisation graphique (les 4 couleurs) {{ : | ||
| + | - Prenez le temps d' | ||
| - | 3- Configurer les règles pour votre projet | + | <html> |
| - | + | <!-- | |
| - | a- Dans Eclipse -> preference -> CheckStyle | + | **Questions |
| - | + | - Consider the coding conventions for line length in the Sun document. Browse your application source code and determine if this coding convention has been consistently followed. | |
| - | Vous visualisez alors les règles par défaut de tous les projets. | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | b- Pour votre projet, il est utile de définir votre propre configuration : sélection du projet | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | c- Sélectionner Local Check Configuration -> New | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | d- sélectionner la configuration puis faire configure | + | |
| - | + | ||
| - | Vous choisissez à présent les règles que vous voulez vérifier dans votre projet. | + | |
| - | * la duplication de code | + | |
| - | | + | |
| - | * le nommage des packages, mais vous le modifiez pour forcer le nom des packages à se terminer par " | + | |
| - | {{ : | + | |
| - | + | ||
| - | e- effacer les violations précédentes (projet -> checkstyle -> clear checkstyle violation | + | |
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | si cela ne fonctionne pas, désélectionner "use simple configuration" | + | |
| - | {{ : | + | |
| - | + | ||
| - | Vous visualisez les règles rangées par catégorie. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | X- Visualiser les erreurs | + | |
| - | + | ||
| - | Sélectionner juste à côté de la vue Checkstyle la visualisation graphique (les 4 couleurs) | + | |
| - | {{ : | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | Leur donner les conventions Sun | + | |
| - | + | ||
| - | Quand vous travaillez à plusieurs sur des codes vous pouvez être amenés à définir | + | |
| - | + | ||
| - | questions: | + | |
| - | + | ||
| - | * Consider the coding conventions for line length in the Sun document. Browse your application source code and determine if this coding convention has been consistently followed. | + | |
| * Consider the coding conventions for line wrapping in the Sun document. Browse your application source code and determine if this coding convention has been consistently followed. | * Consider the coding conventions for line wrapping in the Sun document. Browse your application source code and determine if this coding convention has been consistently followed. | ||
| * Consider the coding conventions for various types of | * Consider the coding conventions for various types of | ||
| Line 199: | Line 159: | ||
| assessment of the source code base by visual | assessment of the source code base by visual | ||
| 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 212: | 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 237: | 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 261: | Line 221: | ||
| {{ : | {{ : | ||
| + | ==== Allons plus loin, comment PMD fonctionne ? ==== | ||
| + | |||
| + | * http:// | ||
| + | * http:// | ||
| + | * Quelles règles? http:// | ||
| + | < | ||
| + | <!-- | ||
| ==== Découverte de l' | ==== Découverte de l' | ||
| Line 273: | 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 296: | 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 329: | 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.1416668606.txt.gz · Last modified: 2014/11/22 15:03 by blay