Найти все объекты, которые не используются в VS 2010 Pro, чтобы их можно было безопасно удалить?

#c# #.net #visual-studio-2010

#c# #.net #visual-studio-2010

Вопрос:

Я пытаюсь просмотреть унаследованный код и найти, какие объекты нигде не используются, чтобы я мог безопасно удалить их. Есть ли в VS 2010 Pro инструмент, который позволяет это сделать? Я просто делал Поиск, но я нахожу, что иногда это может ввести в заблуждение.

Ответ №1:

JetBrains ReSharper может сделать это за вас. Тем не менее, вам все равно нужно быть разумным при удалении классов. Если вы используете контейнеры and DI или конфигурируете через внешние файлы, я видел, что они думают, что вещи не используются, хотя на самом деле они есть.

Вот пример того, как он сообщает об этом в файле (также можно запустить анализ для всего решения):

введите описание изображения здесь

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

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

2. Он фактически проверяет, используется ли класс где-либо в вашем решении. Это также относится к свойствам и методам, поэтому вы можете обрезать свои объекты, если не можете полностью их удалить. Для повышения производительности, если вы разрешаете ему кэшировать свои результаты, это не должно быть слишком плохо. Возможно, у вас просто огромное решение или медленный блок разработки?

3. Поле разработки неплохое, решение просто огромное, как я указал Oded, у первоначальных разработчиков было мышление количества, а не качества.

Ответ №2:

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

Вам нужно быть осторожным, если вы используете какой-либо контейнер IoC, поскольку он может использовать элемент во время выполнения, но статический анализ базы кода не сможет обнаружить это использование.

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

1. Я использовал пробную лицензию Resharper, но это ооооооочень медленно.

2. Здесь нет контейнеров IoC. Это перешло из классического приложения asp в приложение .net 2.0, и это был вопрос количества, а не качества.

3. Вы знаете, если Refactor Pro! это тоже так?

4. @Xaisoft — Пока нет, хотя они, вероятно, в конечном итоге реализуют его. Смотрите это: devexpress.com/Support/Center/p/AS3994.aspx