Обычно я говорю моему компилятору, чтобы он был настолько раздражающим, насколько это возможно, который выбирает 60% материала, который мне нужно изучить. Неиспользуемые функции, которым уже несколько месяцев (после проверки с помощью VCS), обычно удаляются, если их автор не сообщает мне, когда они будут фактически использоваться. Вещи пропущенных прототипов также мгновенно подозреваются.
Я думаю, что попытка внедрить автоматизированную уборку дома - это все равно что создать USB-устройство, которое гарантирует, что вы «безопасно» играете Русская рулетка .
Сложнее всего проверить, какие компоненты добавлены в систему сборки, мало кто замечает их, а неиспользованные кладжи оставляют для сбора мха.
Кроме того, я, как правило, ХОЧУ код, я просто хочу, чтобы его автор немного реорганизовал его и сделал их стиль таким же, как и у остального проекта.
Другим полезным инструментом является doxygen , который помогает (визуально) увидеть отношения в дереве исходного кода ... однако, если он настроен на извлечение статических символов / объектов, он не будет очень тщательным .