This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
2014_2015:s3:concprogobjet:td:reverse-engineering [2014/11/22 17:38] blay [Pourquoi cet outil ?] |
2014_2015:s3:concprogobjet:td:reverse-engineering [2014/11/22 18:41] blay [Reverse Engineering] |
||
---|---|---|---|
Line 179: | Line 179: | ||
==== 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 {{ :2014_2015:s3:concprogobjet:td:pmd-open.png?direct&300 |}} | ||
+ | - Pour mieux voir les erreurs, ouvrir une nouvelle vue PMD {{ :2014_2015:s3:concprogobjet:td:pmdvue.png?direct&300 |}} | ||
+ | - Etudier les erreurs relevées Pour comprendre les erreurs pensez à cliquer sur l'erreur et visualiser la règle {{ :2014_2015:s3:concprogobjet:td:pmdvoirregle.png?direct&300 |}} | ||
+ | - Rechercher les codes dupliqués et étudier les duplications... et sur vos propres codes. {{ :2014_2015:s3:concprogobjet:td:codesdupliques.png?direct&300 |}} | ||
+ | - Générer le rapport PMD {{ :2014_2015:s3:concprogobjet:td:pmdgenererrapport.png?direct&300 |}} | ||
+ | - Etudier les erreurs relevées dans vos propres codes. | ||
+ | |||
+ | <html> | ||
+ | <!-- | ||
1- Fabriquons un exemple pour être sûr d'avoir des erreurs à analyser ((Cette partie s'appuie sur le tutoriel suivant http://www.javatips.net/blog/2012/06/pmd-in-eclipse-tutorial)) : | 1- Fabriquons un exemple pour être sûr d'avoir des erreurs à analyser ((Cette partie s'appuie sur le tutoriel suivant http://www.javatips.net/blog/2012/06/pmd-in-eclipse-tutorial)) : | ||
Line 200: | Line 211: | ||
} | } | ||
</code> | </code> | ||
- | + | !--> | |
- | 2- Clique droit sur le projet puis PMD vérifier le projet | + | </html> |
- | + | ||
- | {{ :2014_2015:s3:concprogobjet:td:pmd-open.png?direct&300 |}} | + | |
- | + | ||
- | 3- Pour mieux voir les erreurs, ouvrir une nouvelle vue PMD | + | |
- | {{ :2014_2015:s3:concprogobjet:td:pmdvue.png?direct&300 |}} | + | |
- | + | ||
- | 4- Générer le rapport PMD | + | |
- | {{ :2014_2015:s3:concprogobjet:td:pmdgenererrapport.png?direct&300 |}} | + | |
- | + | ||
- | 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'erreur et visualiser la règle | + | |
- | + | ||
- | {{ :2014_2015:s3:concprogobjet:td:pmdvoirregle.png?direct&300 |}} | + | |
==== Configurer PMD ==== | ==== Configurer PMD ==== | ||
1- Sélectionner eclipse -> Preferences -> PMD | 1- Sélectionner eclipse -> Preferences -> PMD | ||
Line 236: | Line 233: | ||
* 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) | ||
{{ :2014_2015:s3:concprogobjet:td:godclasspmd.png?direct&200 |}} | {{ :2014_2015:s3:concprogobjet:td:godclasspmd.png?direct&200 |}} | ||
- | ==== Utilisation personnelle de PMD ==== | ||
- | |||
- | Appliquer PMD sur vos propres codes. | ||
==== Allons plus loin, comment PMD fonctionne ? ==== | ==== Allons plus loin, comment PMD fonctionne ? ==== | ||
Line 246: | Line 240: | ||
* Quelles règles? http://pmd.sourceforge.net/pmd-5.1.2/rules/index.html#Basic | * Quelles règles? http://pmd.sourceforge.net/pmd-5.1.2/rules/index.html#Basic | ||
+ | <html> | ||
+ | <!-- | ||
===== Reverse Engineering ===== | ===== Reverse Engineering ===== | ||
Line 259: | Line 255: | ||
* 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 292: | Line 290: | ||
Mais on a quand même 14,9Mo... | Mais on a quand même 14,9Mo... | ||
+ | !--> | ||
+ | </html> | ||