Ответ 1
Невозможно полностью автоматизировать это.
Есть несколько инструментов, о которых я знаю, которые используют подход мастера:
- CnPack использует очиститель единиц
- Анализатор Peganza Pascal (и это sidekick icarus).
- В Lazarus IDE есть диалоговое окно "Неиспользуемые единицы" в пакете CodeTools.
Инструменты Peganza просто показывают отчет. CnPack предложит удалить неиспользуемые единицы для вас, но вы должны подтвердить. Lazarus представляет вам список единиц, которые, по его мнению, не используются, и дает вам возможность удалить некоторые или все из них.
Почему он не автоматизирован?
Потому что это статический анализ. Даже самые сложные инструменты не могут определить со 100% уверенностью, будет ли конкретная строка кода использоваться во время выполнения, не говоря уже о целой единице. Эти инструменты внедрили свои собственные синтаксические анализаторы, чтобы выполнить этот подвиг, но они не являются доказательством дурака.
В любом случае основным преимуществом при очистке предложения uses является удаление визуального беспорядка как из самого источника, так и из функции завершения кода. Да, во время компиляции есть определенная производительность, и некоторые фоновые операции IDE немного ускорятся, но я думаю, вы будете разочарованы, если считаете, что IDE чудесным образом ускорится.
Вы увидите лучшую производительность IDE и компилятора:
- Разверните свои проекты на более мелкие куски, над которыми можно работать независимо.
- Устранение дублирующего кода.
- Отключение ненужных пакетов IDE.
Я, конечно, не пытаюсь отговорить вас от удаления неиспользуемых ссылок на единицы. Как я уже сказал, это поможет разжечь ваш источник. Просто убедитесь, что вы делаете это по правильным причинам.