Существует ли инструмент для нахождения не имеющих ссылки функций (мертвый, устаревший код) в приложении C#? [закрытый]

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
18
задан durron597 21 July 2015 в 16:12
поделиться

6 ответов

Жандарм обнаружит закрытые методы без восходящих вызывающих сторон. Это доступно кросс-платформенный, и дескрипторы последней версии" AvoidUncalledPrivateCodeRule".

FxCop обнаружит общественность/защищенные методы без восходящих вызывающих сторон. Однако FxCop не обнаруживает все методы без восходящих вызывающих сторон, поскольку он предназначен для регистрации в случае, что код является частью Библиотеки, таким образом, общедоступные участники не учтены. можно использовать NDepend, чтобы сделать поиск общедоступных участников без восходящих вызывающих сторон, которые я детализирую здесь в этом другом ответе StackOverflow .

(редактирование: добавленная информация о Жандарме, который на самом деле делает то, что корреспондент спросил)

21
ответ дан 30 November 2019 в 06:51
поделиться

NDepend также сообщит относительно потенциально неиспользованного кода.

7
ответ дан 30 November 2019 в 06:51
поделиться

Примите во внимание, что Resharper (и вероятно другие подобные инструменты также) не выделит неиспользованные методы, если методы будут отмечены public. Нет никакого способа, которым статический инструмент анализа кода сможет проверить, используются ли методы Вашего блока другими блоками вне Вашего решения. Таким образом, первый шаг в избавлении от неиспользованных методов должен уменьшить их видимость до private или internal.

5
ответ дан 30 November 2019 в 06:51
поделиться

Да, эти MZ-инструменты дополнение имеет функцию мертвого кода обзора.

3
ответ дан 30 November 2019 в 06:51
поделиться

Resharper делает это, и не только с методами. Это также делает это с использованием операторов, переменные и так далее.

3
ответ дан 30 November 2019 в 06:51
поделиться

Ну, если VS не делает этого исходно, простой метод состоит в том, чтобы щелкнуть правой кнопкой по методу, и выбор "находят все ссылки". Если существует только 1 ссылка (где она объявляется), она, скорее всего, не используется больше нигде.

2
ответ дан 30 November 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: