Xcode - поиск мертвых методов в проекте - PullRequest
6 голосов
/ 22 января 2011

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

Ответы [ 2 ]

3 голосов
/ 22 января 2011

Используя статический анализ, невозможно обнаружить функции / методы, которые определены, но не используются из-за динамического характера Objective-C.Единственное разумное решение - запустить покрытие, используя GCov или аналогичный инструмент.Даже тогда вам придется заставить вашу программу делать все возможное, чтобы убедиться, что вы не исключаете некоторые функции, которые просто не использовались во время тестирования.

Кроме того, этот скрипт есть некоторые интересные мысли по этому поводу.

1 голос
/ 22 января 2011

Учитывая очень подробные, но описательные имена методов, часто выбираемые в программах Objective-C, я считаю, что выполнения текстового поиска в проекте обычно достаточно.Обычно я просто буду использовать первую часть имени метода, чтобы избежать совпадения с аргументами метода.Это будет соответствовать обычным вызовам методов и использованию @selector и NSSelectorFromString.

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

...