Инструмент для Visual Studio для автоматического удаления методов, на которые нет ссылок

#c# #visual-studio #visual-studio-2010

#c# #visual-studio #visual-studio-2010

Вопрос:

Я ищу функцию, скрипт или инструмент в Visual Studio для удаления методов, на которые не ссылается ни один код в решении.

Все мои проекты находятся в одном решении (т. Е. без внешних библиотек классов).

Обычно я щелкаю правой кнопкой мыши по методам и выбираю «Найти все ссылки», и если объявление метода является единственной ссылкой, я удаляю метод, чтобы помочь очистить код.

Для меня это помогает в процессе анализа кода / обратного проектирования.

Ответ №1:

Попробуйте ReSharper: http://www.jetbrains.com/resharper/features/code_refactoring.html?gclid=CN66956kqagCFQoZ4Qodexn_HA

Это не бесплатно, но это потрясающе 🙂

Комментарии:

1. Является ли функция «Безопасного удаления» тем, что я ищу?

2. Да, он выделяет неиспользуемый код серым цветом, а затем позволяет удалить его нажатием Alt Enter, Ввод при наведении курсора на выделенный серым цветом код.

Ответ №2:

Я думаю, что это неправильно с точки зрения продукта. Если на ваш класс ссылаются внешние приложения, и если ваши общедоступные методы используются в этом внешнем приложении, то при поиске всех ссылок вы не увидите эти ссылки в своем решении.Если вы удалите эти методы, то приложения, ссылающиеся на ваши классы, будут неработоспособны.(Возможно, в вашей текущей ситуации это не проблема, но в целом это было бы проблемой). Поэтому я сомневаюсь, что это будет полезной функцией.

Комментарии:

1. Я полностью понимаю это, но меня это не беспокоит для данного решения.

2. Хотя я в целом согласен, что это может быть проблемой с общедоступными методами в сборке или исполняемом файле, на который ссылаются внешние зависимости. В этом случае вы можете пометить их как устаревшие, используя атрибут [Устаревший] для метода и не удаляя его. Однако в этом случае @JohnB заявил, что не существует никаких внешних зависимостей «никаких библиотек внешних классов», и он ищет что-то для использования в рамках единого решения. Я согласен, что ReSharper — отличный инструмент для достижения этой цели.

Ответ №3:

Используйте Resharper. С легкостью преобразуйте свой код. Это просто потрясающе