Y a-t-il des outils de mesure de bon code disponibles? p>
J'ai trouvé Mesure de code assez utile et intéressante, mais je ne pense pas pouvoir payer 1k $ / année pour simplement utiliser l'outil de mesure. P>
J'imagine qu'il pourrait y avoir un outil qui est / peut p>
3 Réponses :
Pour les métriques de base de la ligne de base comme celles que vous décrivez, essayez CLOC . P>
My 2C-Vendez-vous: Les métriques de code sont généralement pires que inutiles. La seule valeur que j'ai jamais reçue est de mesurer l'efficacité d'une langue contre une autre. P>
CLOC est bon, je l'utilise pour tous mes projets où je me soucie du nombre de lignes.
Quelles mesures parlez-vous de «pire que inutile»? Votre déclaration est trop large pour aider.
@Andy: à peu près toutes: des lignes de code, une complexité cyclomatique, des taux d'injection de défauts, etc. À une occasion, après avoir réduit plusieurs milliers de lignes de code à un script de Code-Gen de 200 lignes, un collègue qui était Obsédé par des métriques m'a dit que mon code était de qualité moyenne, car le ratio de défaut-injection-injection-to-loc était de pair pour la langue que nous utilisions. Cela ne le dérangeait pas du tout que celui-ci était tombé par un ordre de grandeur pendant que le nombre de défauts est resté inchangé. Les métriques aident quand vous cuisinerez des biscuits tous les jours, pas quand tout ce que vous écrivez est neuf.
Merci pour l'histoire que le ratio de défaut-injection-injection-to-local sonne séduisamment utile, en particulier à la gestion, et c'est bien d'avoir un contre-exemple. Avez-vous envisagé l'une des métriques de qualité OO tels que Solid et les métriques Chidamber et Kemerer? Ce sont ceux qui sont les plus intéressés, surtout comment ils changent dans un projet. En tant que quelqu'un qui vise à améliorer le code, LOC est une métrique que j'ai longtemps ignorée. Le bon code devient souvent plus petit.
@Andy: Je ne suis pas une grande partie d'un fan de OO en général (en faveur fortement en faveur de style fonctionnel et orienté vers le processus (ALA Erlang)), alors Chidamber & Kemerer ne m'intéresse pas beaucoup. Je préfère tout construire en tant que petites unités autonomes qui communiquent via des protocoles de messages clairement définis. Afaict, cette approche satisfait automatiquement C & K.
avec 82 Metrics de code prise en charge NDEPEND est l'outillage de Code Metrics Royce pour les développeurs .NET . p>
Sonar est une application côté serveur basée sur Java pour la mesure du code. Il ciblent principalement Java, mais la prise en charge d'autres langues est disponible via des plugins. P>
@ 0xa3 - Codemeasure se décrit comme "Langue indépendante". Donc, si c'est le critère ...
en.wikipedia.org/wiki/list_of_tools_for_static_code_analysis
Comment compteriez-vous les fonctions de manière indépendante de la langue? Comment reconnaîtrez-vous même commentaires i> dans une voie de la langue indépendante?