Использование контроля исходного кода - большая помощь, так как после осмотра, вы можете просмотреть исходный код, чтобы увидеть изменения - отлично подходит для поиска отладочных NSLogs и других быстрых хаков, которые вы забыли, вы добавили.
Пометка временного кода маркером, который вы можете найти, также является хорошей идеей. Я склонен пометить любой код, который я еще не закончил с NYI. Например, если я добавляю IBAction, но еще не написал, у меня есть NSLog (@ "myaction NYI"). По мере продвижения в процессе разработки, я время от времени ищу в проекте нью-йоркский проект и вижу, есть ли что-то, что я забыл реализовать. Временный или взломанный код отладки, который я помечаю как "// NYI delete", поэтому я не забуду вернуться и удалить его.
Для удаления неиспользуемого кода я недавно написал скрипт, который: проверил, все ли было проверено и правильно ли он собран, затем просмотрел любой файл .h в проекте и очистил его и связанные с ним .c / .cpp /. m / .mm файл, а затем сделал тестовую сборку. Если он все еще был построен, он продолжал, в противном случае он вернул этот файл и перешел к следующему заголовочному файлу. После того, как скрипт закончился, я проверил состояние Subversion, чтобы увидеть, из каких файлов он мог избавиться. Я также должен был избегать любых файлов, которые использовались ресурсами. Это сработало довольно хорошо.
Я хочу написать скрипт, который просматривает любой файл и удаляет каждую строку # include / # import и проверяет, все ли он компилируется, чтобы очистить все лишние включения, но я не дошел до этого.