Visual Studio 2008 / C#: как найти мертвый код в проекте?
Как найти мертвый код в проекте Visual Studio 2008 C#? Как неиспользуемые классы, неиспользуемые переменные или неиспользуемые ресурсы?
5 ответов
Вы можете попробовать FxCop, который интегрирован в Visual Studio 2008 под названием Code Analysis. Вам просто нужно щелкнуть правой кнопкой мыши файл проекта и "Выполнить анализ кода".
FxCop - это приложение, которое анализирует сборки управляемого кода (код, предназначенный для общеязыковой среды выполнения.NET Framework) и сообщает информацию о сборках, такую как возможные улучшения дизайна, локализации, производительности и безопасности.
Активные правила можно настроить в разделе "Анализ кода" свойств проекта. Например, некоторые правила, относящиеся к данному случаю, присутствуют в Правилах использования и Правилах исполнения:
- CA1801: просмотр неиспользуемых параметров.
- CA1811: избегайте невостребованного личного кода.
А для большей гибкости вы также пишете свои собственные правила ( руководство по написанию собственного правила анализа кода).
Установите JetBrains ReSharper, который выделит для вас неиспользуемый код.
Очень полезным инструментом для этого является инструмент анализа зависимостей NDepend. Вы можете загрузить свой проект Visual Studio в него, и он проанализирует зависимости всех ваших сборок, типов и методов. Он дает вам обширную информацию о зависимостях, включая (но ни в коем случае не ограничиваясь!) Методы / типы, которые вообще ничего не используются.
Вы можете просматривать зависимости либо графически, либо в виде списка, а также писать свои собственные пользовательские запросы на зависимости, такие как этот - простой запрос 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)
Настоятельно рекомендуемый инструмент.
Хотя я не рекомендую это для большой базы кода, вы можете сделать определенное количество вручную.
Если вы щелкнете правой кнопкой мыши по методу или классу, а затем выберете "Найти использование", вы получите вывод всех мест, на которые есть ссылки. Очевидно, это будет пустым, если он не используется.
Для постоянной очистки я бы установил ReSharper