Je suis intéressé par les outils de statistiques de code. Spécifiquement, j'ai besoin d'obtenir des statistiques sur le code Java EE, mais tout analyseur de code ferait. Devrais-je commencer à créer l'une des miennes ou y a-t-il un projet que vous avez utilisé? P>
ex. Loc, nombre de classes, libs ... p>
Quelle est votre expérience? P>
7 Réponses :
J'ai déjà utilisé Plugin Eclipse Metrics . Il est obsolète de nos jours, mais a un certain nombre de métriques intéressantes. P>
Il y a StateOfflow aussi. Il soutient moins de métriques, mais il semble que ce ne soit pas aussi obsolète. P>
StateOfflow s'écrase lorsque j'exporte mon projet dans un rapport de métrique. "Pas de paquet disponible typeInfo = (mon colis)". Les problèmes qui ont été rapportés sont ignorés. Le projet est mort.
Vous pouvez utiliser Javancss - une suite de mesure source pour Java qui prend en charge certains Métriques de base (NCSS, # Classes / Packages / Fonctions, CCN). P>
Ensuite, il y a Sonar qui prend en charge des métriques de plus de 20 Code et Trèfle (où vous pouvez même définir vos propres métriques avec une langue spéciale) P>
Si cela ne suffit pas pour que vous puissiez Google pour "Java" et "Metrics" P>
+1 pour sonar. Notez que Javancss a des problèmes avec les projets Java 1.5+, et c'est pourquoi l'équipe Sonar a développé son propre outil de remplacement pour Javancss (cet outil s'appelle Sonarsquid et est adopté à Sonar depuis la version 1.9 si je suis correct).
Un outil, qui rassemble assez de niche statistiques est Explorateur de testabilité . Il fonctionne sur le code d'octet Java, fournissant des statistiques pour la complexité cyclomatique, l'état mondial mutable et d'autres choses. C'est gratuit et open source sous la licence Apache 2.0. P>
Comme je l'ai dit, c'est très niche et ne donnera probablement pas de mesures aussi faciles à relier que possible. Cependant, ce qui est intéressant, c'est que vous seriez capable de comparer les projets que vous exécutez contre plusieurs projets ouverts bien connus a>. Cela rendrait peut-être les résultats plus utiles. P>
Un autre outil que j'ai récemment utilisé est Sloccound . C'est un outil de ligne de commande conçu pour donner des statistiques pour de nombreuses langues différentes, y compris Java. Après avoir omis de courir Javancss sur une grande base de code (il s'est plaint de trop de fichiers), j'ai eu cet outil qui ne pose aucun problème, pour une très grande base de code (Intellij Idea). Une belle fonctionnalité est qu'il faut très peu de configurabilité, je n'ai même pas eu à le dire de rechercher L'inconvénient à Sloccount est si vous exécutez Windows - vous devrez utiliser Cygwin pour l'exécuter. P>
*. Java code>, il a reconnu différentes langues et signalées sur eux. P>
Comme expliqué par Jitter, Sonar est définitivement l'outil que vous recherchez. Notez que cet outil a utilisé Javanss, mais depuis la version 1.9, ils ont leur propre outil interne (appelé Sonarsquid) qui est vraiment totalement compatible avec Java 1.5 ou 1,6 projets. P>
text alt http: //sonar.codehaus. Org / WP-Contenu / Uploads / 2009/05 / Sonar-Squid.jpg P>
En outre, vous pouvez surveiller un ensemble complet de projets. P>
Vous pouvez accéder au Nemo Demo Instance pour avoir un aperçu complet de l'outil! P>
Cet outil est surchargé pour résoudre le problème de l'OP. Si vous souhaitez installer une application Web de 3 niveaux sur votre machine Dev Dev, qui repose sur un deuxième outil pour faire l'analyse réelle et le violon avec au moins deux fichiers de configuration - alors allez-y. Si vous souhaitez simplement qu'un outil vous donne les trois critères suivants: et plus!) En 60 secondes, regardez la réponse de Marcelo.
@Nilzor je ne suis pas d'accord. Sonar est vraiment simple à utiliser. Il suffit de télécharger le zip, démarrez-le et exécutez une analyse. Bien sûr, il fournit beaucoup d'informations, beaucoup plus que celles qui ont demandé à OP. En ce qui concerne les outils suggérés par Marcelo, je crains qu'elles soient trop âgées et ne pourraient pas être en mesure d'analyser correctement le code Java 1.5+ (qui se produit avec l'outil JavancsS, qui n'était pas compatible avec Java 1.5 pendant une longue période).
the Outil de métrique SD Java fournit SLOC, compte de commentaire, halstead et Numéros de complexité cyclomatique, jusqu'au niveau de la méthode et pour tous les rouleaux plus grands que ceux (méthode, classe, fichier, répertoire, ...) p>
Le SD Java Clone Doctor analyse les systèmes logiciels pour la duplication de code, et Fournit une liste complète des clones détectés, généralement 10 à 20% dans les grands systèmes logiciels. Vous pouvez voir un rapport de détection de clone sur le lien. P>
Le Le moteur de recherche de code source SD Index Votre base de code source pour fournir des recherches rapides de foudre à travers des millions de lignes de code. En tant que sous-produit de l'indexation de la base source, il produit des statistiques au niveau du fichier pour SLOC, compte de commentaire, halstead et numéros cyclomatiques. Il fonctionne sur Java, C # et de nombreuses autres langues. P>
Vous pouvez essayer également JAVADEPEND , il fournit plus de 82 métriques et CQL (SQL comme) pour interroger La base de code le rend flexible. P>
Et la vue métrique vous donne visuellement une bonne idée de SLOC, de complexité et d'autres métriques inervestantes. P>
P>