2009-09-24 2 views
6

У меня есть .Net (C#) решение. Решение содержит множество проектов. Проекты были реализованы не мной. Это не фреймворк, это означает, что мне нужно как можно меньше количества публичных методов/свойств. Моя задача - определить методы и свойства, которые не используются, но существуют в проектах. Ну, я могу найти частные методы, которые не используются с помощью R #. Но совершенно неясно, как найти public методы/свойства, которые не используются.Как легко найти неиспользуемые общедоступные методы/свойства

Я слышал, что у них есть инструмент NDepend, но это не очень простой инструмент, не так ли.

Итак, вопрос: не могли бы вы указать на инструмент, который можно использовать для определения методов, которые не используются в решении. Все в порядке со мной, чтобы иметь инструмент командной строки или что-то довольно простое.

UPD: Я пытался использовать пробную версию NDepend.

Ну, в первую очередь кажется, что можно увидеть общедоступные методы (свойства представлены как методы get_ set_), которые не используются в этой конкретной сборке.

Но NDepend не распознает, используется ли общедоступный метод из другого проекта/сборки, который является частью решения и показывает метод как неиспользованный. Но это не так.

UPD2: mcintyre321 рекомендуется использовать R #. Пожалуйста, прочтите первый комментарий ниже.

+2

Просто убедитесь, что вы решили удалить, не вызывается через Reflection! – RichardOD

+0

Благодарим вас за примечание. Я уверен, что отражение не используется в моем решении. Но веб-сервисы: - \ – Antipod

+0

Я удалил ссылку на изображение, поскольку он, кажется, мертв, и направлял на nons https url – Liam

ответ

7

Если вы включите анализ широкого спектра решений в ReSharper (5.0 и выше), он будет отмечать их для вас. Это включает общедоступные методы.

+0

Спасибо за комментарий. К сожалению, это не помогло. В конце R # просто показать, что некоторые css и asxc пути не найдены/действительны. Но он не говорил о публичных методах/свойствах. – Antipod

+0

Спасибо за картину. В списке «Ошибки в решении» нет ошибок, и это именно то, что у меня было. Теперь я понимаю, что вы имели в виду, и думаю, что это может помочь. Можно ли получить список со всеми неиспользуемыми методами в решении в одном «окне» с помощью R #, например, в списке ошибок? – Antipod

+0

Вы можете настроить степень проверки в параметрах R # так, чтобы они отображались как предупреждения или ошибки. – mcintyre321

2

Хек Я сделал это старая школа. Я просто комментирую методы, которые, как мне кажется, не используются и не строятся. Если я получу ошибку, я оставлю ее там.

+0

Но это не очень хороший способ решить проблему, если у вас довольно много классов. В этом случае это большая работа. Мы программисты здесь и должны подумать, как автоматизировать процесс. Спасибо. – Antipod

+0

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

Смежные вопросы