Je vais répondre à cette question très ancienne ...
LOC et la couverture de test sont, à mon avis, de bonnes mesures, mais ils ont un gros problème: si vous les poussez, vous pouvez les faire grandir rapidement, mais le résultat sera terryifing: des tonnes de code non-sens, ou dans la couverture de test, vous pouvez invoquer tout votre code dans un bloc try-catch et pas écrire un seul affirmer ... Ou pire encore, il suffit d'en écrire un pour des raisons de «conformité», mais sans aucun sens face au business ou au code ...
Donc, ce type de métrique est très bon s'il aide l'équipe à évaluer honnêtement leur résultat , mais sont un outil diabolique si elles font partie de certaines règles de «conformité», car les utiliser de cette façon cause plus de dégâts (code mort, mauvais tests!) que ce que vous vouliez atteindre. Donc, avec chaque métrique, pensez à comment vous tromperiez si vous deviez atteindre une certaine valeur, et pensez aux conséquences ... Ce n'est pas un problème de couverture LOC ou de test, de nombreuses autres mesures peuvent avoir résultat similaire, même complexité cyclomatique ...Si vous divisez votre code d'une mauvaise manière, vous pouvez réduire la complexité cyclomatique, mais cela ne signifie pas que vous obtenez le code plus lisible ou mieux!
Donc, ce genre de mesures sont tout à fait bon de voir ce qui se passe à l'intérieur d'une équipe, mais toute mesure que vous prenez doit être fondée sur des objectifs concrets, et non sur la métrique elle-même ... Par exemple:
couverture de test est faible: vous implémentez le codage dojos une fois par mois pour aider les gens en train d'écrire du code testable, vous trouverez ce code a la pire couverture de test et essayer de mettre en œuvre une meilleure/architecture plus testable qui aide/motive les développeurs à écrire test, etc.
Comme vous pouvez le voir, vous ne dire à l'équipe d'atteindre une certaine valeur de la couverture de test, il suffit d'utiliser la métrique pour voir où vous pouvez améliorer et rechercher des mesures qui profitent à votre Au bout d'un certain temps, vous vous attendez à ce que la couverture des tests augmente, mais vous ne forcez pas les gens à le faire! Vous évaluez les changements afin de voir si les mesures aident. Si après un certain temps, vous découvrez que la couverture de test n'a pas changé avec vos mesures, il est temps de chercher d'autres idées, et ainsi de suite ...
Pouvez-vous fournir une référence où il est soutenu que la couverture de code est inapproprié? –
c'est la seule référence que je peux trouver dans mon histoire: http://www.infoq.com/news/2009/11/good-agile-metrics – geowa4