User Tools

Site Tools


2014_2015:s3:concprogobjet:td:reverse-engineering

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
2014_2015:s3:concprogobjet:td:reverse-engineering [2014/11/22 17:33]
blay [Pourquoi cet outil ?]
2014_2015:s3:concprogobjet:td:reverse-engineering [2014/11/22 18:43]
blay [Découverte de l'outil sur le code de JUNIT]
Line 176: Line 176:
  
  
-  - Sélectionner le projet -> propriétés -> PMD -> activer PMD 
  
 ==== 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 201: Line 211:
 } }
 </​code>​ </​code>​
- +!--> 
-2Clique 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 225: Line 221:
 {{ :​2014_2015:​s3:​concprogobjet:​td:​pmdregles.png?​direct&​300 |}} {{ :​2014_2015:​s3:​concprogobjet:​td:​pmdregles.png?​direct&​300 |}}
  
 +==== Allons plus loin, comment PMD fonctionne ? ====
 +
 +  * http://​pmd.sourceforge.net/​pmd-5.1.2/​
 +  * http://​connect.ed-diamond.com/​GNU-Linux-Magazine/​GLMF-105/​Verifier-votre-code-Java-avec-PMD
 +  * Quelles règles? http://​pmd.sourceforge.net/​pmd-5.1.2/​rules/​index.html#​Basic
 +<​html>​
 +<!--
  
 ==== Découverte de l'​outil sur le code de JUNIT ==== ==== Découverte de l'​outil sur le code de JUNIT ====
Line 237: 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)
 {{ :​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 ? ==== 
  
-  * http://​pmd.sourceforge.net/​pmd-5.1.2/​ 
-  * http://​connect.ed-diamond.com/​GNU-Linux-Magazine/​GLMF-105/​Verifier-votre-code-Java-avec-PMD 
-  * Quelles règles? http://​pmd.sourceforge.net/​pmd-5.1.2/​rules/​index.html#​Basic 
  
 ===== Reverse Engineering ===== ===== Reverse Engineering =====
Line 260: 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 293: Line 292:
 Mais on a quand même 14,9Mo... Mais on a quand même 14,9Mo...
  
 +!-->
 +</​html>​
  
  
2014_2015/s3/concprogobjet/td/reverse-engineering.txt · Last modified: 2014/11/26 10:50 by blay