Как проверить, используется ли константа в проекте - PullRequest
0 голосов
/ 04 июля 2018

У меня большой проект со многими файлами Objective C и Swift. Есть файл Constants.h, который содержит много констант с #define. Это выглядит так:

#define kConstant1  @"constant1"
#define kConstant2  @"constant2"
#define kConstant3  @"constant3"
#define kConstant4  @"constant4"
...

В проекте есть много файлов (Swift и Objective C), которые используют эти константы. К сожалению, есть также константы, которые не используются ни одним файлом в коде, поэтому они являются неиспользуемыми переменными. Я хочу выяснить, какие константы используются, а какие нет, чтобы удалить неиспользуемые константы. В этом файле содержится около 3000 констант, поэтому поиск кода по каждой константе вручную займет слишком много времени.

Есть ли другой способ узнать, какая переменная #define используется кодом?

1 Ответ

0 голосов
/ 04 июля 2018

Три предложения:

  1. Загрузите JetBrains AppCode и попробуйте выполнить код через диагностику. Инструменты AppCode могут найти неиспользуемые константы.

  2. Напишите скрипт для просмотра каждого файла и проверьте наличие констант. Если константа найдена, пометьте ее как найденную. Когда все файлы проверены, все, что не отмечено, может быть удалено. Вы можете написать этот скрипт любым способом - bash, ruby, python, swift и т. Д. - и можете жестко закодировать константы или извлечь их из файла Constants.h.

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

К сожалению, здесь нет волшебной пули. Это в основном трудоемкий процесс. (

...