2010-01-11 7 views
4

J'ai une solution autonome (aucune des DLL n'est utilisée dans un autre projet, donc ne vous inquiétez pas de l'utilisation des méthodes ailleurs).Déterminer les méthodes et propriétés inutilisées

J'essaie de trouver un moyen de déterminer toutes les méthodes/propriétés qui ne sont pas utilisées du tout.

Je ne peux donc pas simplement regarder les méthodes/propriétés privées, je dois aussi vérifier les méthodes publiques et les propriétés.

J'ai utilisé un programme dans le passé qui l'a fait, mais uniquement pour les méthodes/propriétés privées (les choses dont il garantit qu'elles n'ont pas été utilisées par un autre projet). Même si je pouvais me souvenir de ce que c'était, cela ne répondait pas à mes besoins.

J'ai regardé nDepend, mais je ne sais pas si c'est quelque chose de standard dans l'application, ou si j'ai besoin d'écrire une instruction CQL personnalisée pour cela.

Est-ce que quelqu'un sait d'une application qui le fait, ou si nDepend peut le faire, comment serait-il difficile de le faire dans nDepend? Resharper peut vous fournir ce type d'information si vous activez solution wide analysis.

Répondre

6

L'analyse de code (FxCop) peut également localiser les méthodes et les propriétés inutilisées.

+0

C'est ce que j'ai utilisé, Resharper, mais c'était avant la nouvelle fonctionnalité Solution Wide! Merci pour votre aide. –

+0

Appréciez le pourboire! –

1

Il va générer des avertissements à l'effet que "aucun appelant en amont ne l'utilise, envisager de le supprimer"

9

Oui - Je dirais que NDepend est l'outil de choix pour ce type d'analyse de dépendance.

Il est livré avec des charges de requêtes CQL pré-conservées pour faire exactement ce genre de chose, et il est très simple d'écrire les vôtres, en fonction des modèles existants.

A est la plus simple, une requête CQL pour détecter les méthodes non utilisées peuvent ressembler à ceci:

SELECT 
    METHODS   // Get me a list of methods 
WHERE 
    MethodCa == 0 // Where their afferent coupling is zero, (afferent coupling being the number of other methods that call it) 

Ceci est juste un échantillon pour vous montrer comment ressemble CQL. Une requête plus avancée pour trouver les méthodes inutilisées est fournie avec NDepend. Pour plus d'informations, voir Patrick Smacchia's blog pour plus d'informations. Dans l'ensemble, d'autres outils (FxCop et Resharper) peuvent également aider, mais ce type d'analyse de dépendances est la raison d'être de NDepend.

+0

Bonne information à avoir, va jeter un oeil à la démo pour cela. Seulement utilisé Resharper avant, mais nDepend semble définitivement utile, et bon à savoir il est livré avec les requêtes standard fournies avec lui! –

-1

Ceci est intégré dans Visual Studio 2010 Ultimate. Je l'utilise.

+1

Comment faites-vous spécifiquement cela? –

Questions connexes