Определить неиспользуемые методы и свойства - PullRequest
4 голосов
/ 12 января 2010

У меня есть автономное решение (не библиотеки DLL используются в любом другом проекте, поэтому не беспокойтесь о методах, используемых где-то еще).

Я пытаюсь найти способ определить каждый метод / свойство, которое вообще не используется.

Так что я не могу просто посмотреть на частные методы / свойства, мне нужно также проверить публичные методы и свойства.

В прошлом я использовал программу, которая делала это, но только для частных методов / свойств (вещи, которые гарантированно не использовались другим проектом). Даже если бы я мог вспомнить, что это было, это не отвечало моим потребностям.

Я смотрел на nDepend, но не уверен, является ли это чем-то стандартным в приложении, или мне нужно написать собственный оператор CQL для него.

Кто-нибудь знает о приложении, которое делает это, или если nDepend может это сделать, как трудно было бы это сделать в nDepend?

Ответы [ 4 ]

9 голосов
/ 12 января 2010

Да - я бы сказал, что NDepend - инструмент выбора для такого рода анализа зависимостей.

Он поставляется с множеством предварительно настроенных запросов CQL для выполнения именно такого рода задач, и очень просто написать свой собственный, основываясь на существующих в качестве шаблонов.

На самом простом CQL-запрос для обнаружения неиспользуемых методов может выглядеть следующим образом:

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)

Это просто пример, показывающий, как выглядит CQL. Более сложный запрос для поиска неиспользуемых методов поставляется с NDepend.

См. Блог Патрика Смаккья для получения дополнительной информации.

В целом, другие инструменты (FxCop и Resharper) также могут помочь с этим, но такого рода анализ зависимостей является смыслом для NDepend.

6 голосов
/ 12 января 2010

Resharper может предоставить вам такую ​​информацию, если вы включите анализ всего решения .

1 голос
/ 12 января 2010

Анализ кода (FxCop) также может найти неиспользуемые методы и свойства. Он выдаст предупреждения о том, что «никакие вызывающие абоненты не используют это, рассмотрите возможность его удаления»

0 голосов
/ 03 сентября 2011

Это встроено в Visual Studio 2010 Ultimate. Я использую это.

...