2010-02-11 3 views
3

J'ai récemment hérité d'un projet de bonne taille avec environ 100k lignes de code et je voudrais savoir quel code est en cours d'exécution. J'ai trouvé un certain nombre de routines qui ne sont pas appelées du tout et qui cherchent un moyen rapide et automatisé d'explorer le Business Layer pour voir quel autre code peut être refacturé rapidement.Couverture de code de ASP.NET

Ceci est un site Web ASP.NET avec codebehind VB.NET et Business Layer.

+0

Question similaire pour la référence: http://stackoverflow.com/questions/71518/is-there-a-custom-fxcop-rule-that-will-detect-unused-public-methods/71929 –

Répondre

4

Personnellement, j'aime le ReSharper et sa fonctionnalité "Trouver toutes les utilisations". Il y a quelques options avancées mais essentiellement il peut très rapidement trouver tous les endroits où une unité particulière est utilisée (fonction, classe, interface).

Je crois que vous confondez le terme de couverture de code un peu, en général ce que l'on entend par là est le pourcentage de code qui est couvert par des cas de test (tests unitaires automatisés) et cela peut être facile de déterminer avec de nombreux outils, par exemple Couverture NCover ou MS Test dans certaines versions de Visual Studio.

+1

Sans oublier, Le resharper grise automatiquement le "code mort". – womp

3

Vous pouvez utiliser NDepend - c'est un outil d'analyse statique avec un langage de requête intégré qui vous permettra de rechercher et de trouver des classes et des méthodes qui ne sont pas utilisées dans la base de code. Voir this article pour quelques détails sur la façon d'y parvenir.

Il ya aussi severalothersimilar SO questions sur ce sujet avec de bonnes réponses.

1

TestDriven s'intègre bien avec Visual Studio et a la possibilité de démarrer le projet en mode «couverture de code». Cela vous donnera quelques bonnes statistiques sur les lignes de code en cours d'exécution (je l'ai utilisé pour analyser la quantité de code que mes tests unitaires couvrent).

1

Il y a aussi nCove r - a le chemin, et la couverture de base.

Questions connexes