IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

PMD : Exécution automatique possible ?


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut PMD : Exécution automatique possible ?
    Bonjour,

    J'hésite entre l'utilisation de PMD et CheckStyle pour un projet avec de nombreux développeurs.

    La plus grosse différence que j'ai trouvé entre les deux c'est que CheckStyle a l'air de s'executer et de se mettre a jour "lors de la frappe" alors que PMD nécessite une activation manuelle.

    Est il possible d'ajouter PMD au "builder" d'Eclipse afin qu'il fonctionne de manière automatique ? Si oui j'utiliserais PMD qui apparemment me permettra de faire plus de choses plus facilement, sinon j'envisagerais CheckStyle.

    Les développeurs actuels arrivant déjà a livrer du code qui ne compile pas, si en plus il faut leur demander de cliquer quelque part pour vérifier leur code ils ne le feront jamais...

    Merci ;o)

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Hum... bon, j'ai trouvé ;o)

    Il suffisait de cocher la case "Activer PMD" dans les propriétés du projet concerné, problème résolu !

    Vive les menus Eclipse qui diffèrent entre Windows/Preferences et Clic droit/Properties ^^

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    J'hésite entre l'utilisation de PMD et CheckStyle pour un projet avec de nombreux développeurs.

    La plus grosse différence que j'ai trouvé entre les deux c'est que CheckStyle a l'air de s'executer et de se mettre a jour "lors de la frappe" alors que PMD nécessite une activation manuelle.
    Si c'est vraiment la seule différence que tu as vu entre PMD et Checkstyle, je te conseil de revoir ta copie.

    Checkstyle s'occupe essentiellement du style (accolade à gauche, espace, javadoc,...), PMD détecte des erreurs de programmation, des anti pattern, des potentiels bugs...

    Si tu dois garder qu'un outil, je pense que PMD est bcp plus pertinent que Checkstyle - qui est d'ailleurs très remplacé par le plugin Format On Save de Eclipse.

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Je suis bien d'accord avec toi, mais ce qui m'interesse dans ces plugin ce ne sont pas les règles "standards" mais les nouvelles règles spécifiques au projet que je vais devoir implémenter.

    Or ces règles sont essentiellement des règles de respect d'architecture ou de recherche de mauvais pattern, chose qui peut être fait avec PMD (c'est concu pour, avec XPath ou des règles codées en Java) ou avec CheckStyle (RegExp ou règles codées en Java)

    XPath ou les RegExp me paraissant trop limités pour certaines de ces règles je vais sans doute devoir en coder certaines a la main.

    Format On Save est en effet très sympathique mais il comporte le désavantage d'être automatique. Or quand on travaille sur un projet de maintenance on n'a pas envie que la moindre retouche du fichier modifie toute sa structure rendant un diff avec une version ultérieure impossible...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    Or ces règles sont essentiellement des règles de respect d'architecture ou de recherche de mauvais pattern, chose qui peut être fait avec PMD (c'est concu pour, avec XPath ou des règles codées en Java) ou avec CheckStyle (RegExp ou règles codées en Java)
    Tu fais là, désolé, une grosse erreur d'analyse. Coder des règles d'architectures comme tu les appeles avec Checkstyle va être long et douloureux. Je le sais d'expérience...

    XPath ou les RegExp me paraissant trop limités pour certaines de ces règles je vais sans doute devoir en coder certaines a la main.
    Avec XPath tu pourras aisément coder une bonne partie de tes règles. En plus, tu peux les déployer aisément dans Eclipse, sans avoir besoin de rajouter un jar (ce qui sera nécessaire avec Checkstyle).

    Si vraiment tu ne trouves pas ton bonheur dans les 250 règles que PMD offrent et que tu ne peux pas implémenter des règles en XPath, tu pourras toujours implémenter tes règles en Java.

    Bref, avec Checkstyle, tu peux faire tes règles en RegEx ou en Java, et avec PMD, tu peux les faire en XPath, en Regex et en Java...

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Je suis bien d'accord, beaucoup de regles peuvent être codées avec XPath.

    Cependant elles peuvent vite devenir complexes.

    Par exemple si on veux verifier que dans un package aaa.bbb.xxx on utilise pas de classe du package aaa.ccc.yyy.impl mais qu'on peut utiliser aaa.ccc.yyy sauf dans la classe aaa.bbb.xxx.ClasseSpecifique

    De plus je n'ai pas trouvé comment ajouter des commentaires avec XPath ce qui m'ennuie pour la maintenance des règles ;o)

    Et puis je doute que tu puisse coder des regles du genre ci dessous avec XPath :
    Interdire l'appel d'une méthode XXX sur une variable de type YYY si la variable a été remplie précédemment avec le retour d'une méthode de type getZZZ()

    Bref, je m'oriente pour le moment sur une solution basée sur XPath (pour les regles simples) et des extensions de PMD pour les regles complexes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécution automatique de code à heure fix.
    Par pepe2006 dans le forum Access
    Réponses: 6
    Dernier message: 15/08/2006, 16h21
  2. [Système] Exécution automatique d'une URL
    Par johnkro dans le forum Langage
    Réponses: 26
    Dernier message: 19/07/2006, 14h23
  3. [PHP-JS] php qui s'exécute automatiquement...
    Par sam01 dans le forum Langage
    Réponses: 4
    Dernier message: 01/03/2006, 07h20
  4. Exécution automatique de requete
    Par jfphan dans le forum Access
    Réponses: 1
    Dernier message: 07/02/2006, 12h33
  5. exécution automatique d'une macro
    Par faayy dans le forum Access
    Réponses: 12
    Dernier message: 15/06/2005, 14h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo