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

Metrics Discussion :

Nouvelle application : JTheque Metrics


Sujet :

Metrics

  1. #1
    Expert éminent sénior
    Nouvelle application : JTheque Metrics
    Bonjour,

    J'ai le plaisir de vous annoncer que j'ai développé une nouvelle application basé sur le core JTheque : JTheque Metrics.

    Cette application permet de générer des métriques sur le code d'un projet Java.

    Pour le moment, les métriques générées ne sont pas très nombreuses :
    • Nombre de lignes
    • Nombre de lignes de code
    • Nombre de lignes de commentaires


    Mais cela devrait évoluer

    JTheque Metrics gérer les projets multi-modules. C'est-à-dire que vous pouvez enregistrer un nouveau projet et lui spécifier plusieurs sous-projets (des dossiers).

    Vous pouvez également enregistrer une configuration de projet pour ne pas avoir à le reconfigurer entièrement plusieurs fois.

    Version actuelle : 1.0.1

    Vous pouvez télécharger le programme ici : http://jtheque.developpez.com/public...rics-1.0.1.zip

    Les sources sont disponibles ici : http://www.developpez.net/forums/d75...heque/sources/

    La documentation est disponible ici : http://www.developpez.net/forums/d75...ocumentations/

    En espérant que ce programme vous soit utile.

    N'hésitez pas à me faire part de votre avis, de vos propositions d'amélioration ou des bugs que vous auriez pu constater.

  2. #2
    Membre expert
    Citation Envoyé par Baptiste Wicht Voir le message


    Vous pouvez télécharger le programme ici : http://jtheque.developpez.com/public...etrics/1.0.zip

    J'ai une erreur 404 Sinon bonne idée, c'est le genre d'application que j'aime bien utilisé Faut voir comment c'est implémenté après

  3. #3
    Expert éminent sénior
    Citation Envoyé par Janitrix Voir le message
    J'ai une erreur 404 Sinon bonne idée, c'est le genre d'application que j'aime bien utilisé Faut voir comment c'est implémenté après
    C'est corrigé, je suis définitivement mauvais pour les releases.

    Pour la manière dont c'est implémenté, tu peux regarder la documentation ou le sources

  4. #4
    Membre expert
    Citation Envoyé par Baptiste Wicht Voir le message
    C'est corrigé, je suis définitivement mauvais pour les releases.

    Pour la manière dont c'est implémenté, tu peux regarder la documentation ou le sources
    Je ne parlais pas du code en lui même, mais de l'interface

    Je te ferai un feedback

  5. #5
    Expert éminent sénior
    Citation Envoyé par Janitrix Voir le message
    Je ne parlais pas du code en lui même, mais de l'interface

    Je te ferai un feedback
    Ce sera avec plaisir Je suis pas un grand pro des interfaces, donc tout commentaire est le bienvenu

  6. #6
    Membre expert
    Quelques remarques sur la release en elle même : le nom de l'archive devrait contenir le nom de l'applicaion + version.

    Dans l'archive, le dossier root devrait être le nom de l'application, avec éventuellement la version. Là, c'est 'current', si tu veux déployer sur ton poste, ça fait pas très propre. Il serait plus intéressant d'avoir "JTheque Metrics" par exemple.

    Dans le dossier current, on ne sait pas vraiment quel JAR doit être exécuter : est-ce Application.jar ou JTheque-Laucher.jar ?

    Voilà, rien de grave

  7. #7
    Membre expert
    Lorsque j'exécute Application.jar, j'ai l'exception suivante :
    Exception in thread "main" java.lang.NullPointerException
    at org.jtheque.core.managers.core.ClassPath.addFolderLibrairiesToClassPath(ClassPath.java:50)
    at org.jtheque.core.managers.core.Core.addLibrairies(Core.java:175)
    at org.jtheque.core.managers.core.Core.configureClassPath(Core.java:160)
    at org.jtheque.core.managers.core.Core.launchJThequeCore(Core.java:151)
    at org.jtheque.metrics.JThequeMetrics.main(JThequeMetrics.java:46)
    Si je regarde la source, j'ai la ligne suivante dans le fichier JThequeMetrics.java :
    core.setFolderPath("N:/Programmation/WorkDirectory/JTheque Metrics/current");
    Surement un oublie de dernière minute Ne faut-il pas decommenter la ligne suivante :
    //core.setFolderPath(System.getProperty("user.dir"));
    Merci

  8. #8
    Expert éminent sénior
    Voilà, c'est corrigé, merci encore

    Pour ce qui est du fichier .jar à lancer, il faudrait que je revoie l'architecture pour n'avoir qu'un Jar à la racine. Dans ce cas, en plus, tu peux lancer les deux, sauf que les mises à jour ne fonctionneront pas avec Application.jar.

  9. #9
    Membre expert
    Bon, je viens de tester rapidement. Mes quelques remarques :
    - lorsqu'on change d'onglet, la transition "fading" est une bonne idée, mais il faudrait qu'elle soit un peu plus rapide
    - j'ai l'impression que certains textes ne sont pas traduits en anglais, quand je change de langue, quelques libellés restent en français
    - on peut ajouter des projets sans nom. Il faudrait peut être checker et afficher un avertissement si c'est vide.
    - le dossier associé au projet, on ne sait pas vraiment à quoi il correspond. Dois-je le mettre à la racine de mon projet (donc dans src puisque je bosse avec Eclipse), ou alors dois-je le mettre au niveau du premier fichier source ?
    - j'ai généré les rapports, en étant au niveau src. Cela n'a rien produit.

    Voilà

    Sinon c'est pas mal du tout Plutôt réactif. Agencement claire et efficace.

    Bon courage

  10. #10
    Expert éminent sénior
    Citation Envoyé par Janitrix Voir le message
    - lorsqu'on change d'onglet, la transition "fading" est une bonne idée, mais il faudrait qu'elle soit un peu plus rapide
    Je vais voir pour accélérer ça

    - j'ai l'impression que certains textes ne sont pas traduits en anglais, quand je change de langue, quelques libellés restent en français
    Effectivement, il y a un souci. Tout est traduit, mais apparement, tout n'est pas mis à jour lorsqu'on change la langue.

    - on peut ajouter des projets sans nom. Il faudrait peut être checker et afficher un avertissement si c'est vide.
    +1

    Je vais vérifier ça.

    - le dossier associé au projet, on ne sait pas vraiment à quoi il correspond. Dois-je le mettre à la racine de mon projet (donc dans src puisque je bosse avec Eclipse), ou alors dois-je le mettre au niveau du premier fichier source ?
    Le mieux est au niveau dossier src pour le comptage des packages. Par contre, je vais essayer d'améliorer le comptage des packages en se basant sur les fichiers sources, ce sera plus simple et plus sûr.

    - j'ai généré les rapports, en étant au niveau src. Cela n'a rien produit.
    C'est bizarre, je génère toujours depuis le dossier src. Tu pourrais me donner l'arborescence à l'intérieur du fichier src, au moins le premier niveau ?


  11. #11
    Membre expert
    Citation Envoyé par Baptiste Wicht Voir le message


    C'est bizarre, je génère toujours depuis le dossier src. Tu pourrais me donner l'arborescence à l'intérieur du fichier src, au moins le premier niveau ?

    Je viens de réessayer et ça marche Je te fais signe si ça ne remarche pas de nouveau

    L'arborescence est classique : org.my.ui

  12. #12
    Expert éminent sénior
    J'ai terminé la version 1.0.1.

    Au menu :
    • Corrections de quelques bugs dont un bug pour la mise à jour
    • Validation des champs lors de l'ajout d'un projet
    • Vérification que le nom de la configuration n'existe pas encore et proposition d'écrasage ou changement de nom


    Vous pouvez télécharger le programme ici : http://jtheque.developpez.com/public...rics-1.0.1.zip

    Par contre, comme il y avait un bug au niveau la mise à jour pour JTheque Metrics Module, vous ne pourrez pas utiliser la mise à jour du programme.

    Donc pour garder ses données, il suffit de récupérer le fichier config.xml et de le copier dans le nouveau dossier.

    Désolé pour le dérangement.

  13. #13
    Membre à l'essai
    Belle initiative.
    Salut,

    Je souhaitais dire un grand bravo pour l'initiative d'un tel projet.
    Je me demandais si de telles métriques n'étaient pas générées par des outils déjà existants ?
    En gros, qu'apporte ce projet par rapport aux projets existants faisant la même chose ?

    Merci.

  14. #14
    Expert éminent sénior
    Citation Envoyé par glabouzz Voir le message
    Salut,

    Je souhaitais dire un grand bravo pour l'initiative d'un tel projet.
    Je me demandais si de telles métriques n'étaient pas générées par des outils déjà existants ?
    En gros, qu'apporte ce projet par rapport aux projets existants faisant la même chose ?

    Merci.
    Merci

    Oui, il y a effectivement des outils déja existants qui doivent le faire. Le problème que j'avais à l'époque ou j'ai commencé cet outil, c'est qu'aucun logiciel suffisament stable n'existait. De plus, la plupart des outils étaient des plugins pour des versions d'EDI qui n'étaient pas à jour. Je voulais donc un outil indépendant d'un EDI et me permettant de générer les métriques dont j'avais besoin.

    Je compte encore ajouter de nouvelles mesures à ce logiciel et surtout une fonction d'export des métriques.

    Voilà

  15. #15
    Membre à l'essai
    Citation Envoyé par Baptiste Wicht Voir le message
    Merci

    Oui, il y a effectivement des outils déja existants qui doivent le faire. Le problème que j'avais à l'époque ou j'ai commencé cet outil, c'est qu'aucun logiciel suffisament stable n'existait. De plus, la plupart des outils étaient des plugins pour des versions d'EDI qui n'étaient pas à jour. Je voulais donc un outil indépendant d'un EDI et me permettant de générer les métriques dont j'avais besoin.

    Je compte encore ajouter de nouvelles mesures à ce logiciel et surtout une fonction d'export des métriques.

    Voilà
    Je suivrai donc avec intérêt l'évolution de ce travail.
    Salut.

  16. #16
    Modérateur

    Repéré en vrac :

    1 - Menu horizontal Aide, ya 2 fois la même option : Proposer une amélioration

    2 - Onglet principal Configuration : Faute d'ortho sur le bouton "Supprimer". Tu as un "m" en trop.

    3 - Dans avancé, Options, impossible de changer le look & feel de l'appli.

    4 - Onglet Résultats : Lors d'un clic sur générer, l'arbre est rempli de tous les projets situés dans Configuration ce qui est pénible. Ce qui serait mieux se serait de tenir compte de la multi-sélection de la table de config et donc de ne gérer les stats QUE des lignes sélectionnées.

    5 - Dans l'arbre des résultats, à partir du niveau des méthodes et des constructeurs on n'a plus aucune stat, c'est du zéro partout.

    Suggestions :

    1 - Dans l'onglet "Résultats" : Avoir la possibilité d'exporter les données de l'arbre sous forme de fichier CSV pour une intégration facile dans un tableur, en ne tenant compte par exemple que des lignes de l'arbre sélectionnées.

    2 - Sélection de dossier : pointer sur le dernier dossier utilisé et non sur Mes Documents. Perso je n'utilise jamais "Mes Documents" vu que la partition C: est ma partition système et que donc mes données n'ont rien à y faire (une énième hérésie de Micro$oft), j'ai un "home" perso que je crée ailleurs, 'fin bref ...

    3 - Avoir une différenciation dans la partie Lignes de commentaires de l'arbre entre les commentaires pour la Javadoc et les commentaires standards histoire d'avoir une idée des proportions.


    Voilà, je cherchais justement un p'tit soft très simple qui compte les lignes donc c'est une bonne idée ton appli.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  17. #17
    Expert éminent sénior
    Merci beaucoup pour le retour

    1 - Menu horizontal Aide, ya 2 fois la même option : Proposer une amélioration
    Ce sera corrigé dans la prochaine version du core.

    2 - Onglet principal Configuration : Faute d'ortho sur le bouton "Supprimer". Tu as un "m" en trop.
    Effectivement

    3 - Dans avancé, Options, impossible de changer le look & feel de l'appli.
    Arf, je vais regarder ça

    4 - Onglet Résultats : Lors d'un clic sur générer, l'arbre est rempli de tous les projets situés dans Configuration ce qui est pénible. Ce qui serait mieux se serait de tenir compte de la multi-sélection de la table de config et donc de ne gérer les stats QUE des lignes sélectionnées.
    C'est pourtant le résultat logique, il me semble. Si tu veux, tu peux faire plusieurs configurations enregistrés avec les différentes projets que tu veux afficher, non ?

    5 - Dans l'arbre des résultats, à partir du niveau des méthodes et des constructeurs on n'a plus aucune stat, c'est du zéro partout.
    Je regarde ça

    Tu pourrais juste me donner un exemple de classe que tu parses pour que je voie s'il y a pas un cas spécial que j'ai pas considéré.

    1 - Dans l'onglet "Résultats" : Avoir la possibilité d'exporter les données de l'arbre sous forme de fichier CSV pour une intégration facile dans un tableur, en ne tenant compte par exemple que des lignes de l'arbre sélectionnées.
    L'export est une fonctionnalité prévue pour les prochaines versions

    Je pensais faire un export PDF, plain text et CSV. Si tu vois autre chose qui serait intéressant, n'hésites pas

    2 - Sélection de dossier : pointer sur le dernier dossier utilisé et non sur Mes Documents. Perso je n'utilise jamais "Mes Documents" vu que la partition C: est ma partition système et que donc mes données n'ont rien à y faire (une énième hérésie de Micro$oft), j'ai un "home" perso que je crée ailleurs, 'fin bref ...
    C'est pas faux, je vais voir ce que je peux faire

    3 - Avoir une différenciation dans la partie Lignes de commentaires de l'arbre entre les commentaires pour la Javadoc et les commentaires standards histoire d'avoir une idée des proportions.
    Je vais voir ce que je peux faire, par contre, c'est pas toujours pratique à différencier, mais ça devrait être faisable.

    Voilà, je cherchais justement un p'tit soft très simple qui compte les lignes donc c'est une bonne idée ton appli.
    Merci

  18. #18
    Modérateur

    C'est pourtant le résultat logique, il me semble. Si tu veux, tu peux faire plusieurs configurations enregistrés avec les différentes projets que tu veux afficher, non ?
    Oui c'est pas faux

    Tu pourrais juste me donner un exemple de classe que tu parses pour que je voie s'il y a pas un cas spécial que j'ai pas considéré.
    Je t'envoie ça en MP.

    A noter que je me suis un peu emballé, ça ne le fait pas partout (dans le sens pour toutes les classes) mais quand ça le fait pour une classe, ça concerne toute la classe. Je t'envoie donc un exemple qui mets du zéro partout ^^.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  19. #19
    Expert éminent sénior
    Citation Envoyé par Marco46 Voir le message
    Je t'envoie ça en MP.

    A noter que je me suis un peu emballé, ça ne le fait pas partout (dans le sens pour toutes les classes) mais quand ça le fait pour une classe, ça concerne toute la classe. Je t'envoie donc un exemple qui mets du zéro partout ^^.
    Merci, je vais jeter un coup d'oeil