Вы уже ответили на свои вопросы:
Обратите внимание, что я занимаюсь этим проектом из соображений производительности, а также из-за чистоты кода.
Однако давайтеразбейте ответ, приведя пример сценария и некоторые варианты использования.
Сценарий :
Допустим, у нас есть приложение Forecast.Когда пользователь переходит на маршрут ежедневного прогноза, он хочет получить информацию только о текущем дне.
Варианты использования :
- Как пользовательприложение, стоит ли производительность , если по ежедневному маршруту, по какой-то причине мы загружаем одну или несколько библиотек, никогда не пользовались?Имея в виду следующие библиотеки:
- Имеют некоторое время выполнения.Представьте, что в импортированном модуле мы создаем новый объект или выполняем некоторую тяжелую обработку.
- Добавлены накладные расходы сети для пользователя.
- В качестве точки зрения разработчика, достаточно ли ясно на первый взгляд, если я вижу файл с кучей импортированных библиотек?
- А что если я импортировал утилиту
weeklyForecast
в DailyComponent
?Суть в том, что это вводит в заблуждение и сбивает с толку, если вы не просматриваете весь DailyComponent
.Может быть, кто-то скажет, что у нас есть Линтеры для этого.Но почему вы используете Linter, если вы не следуете его правилам и соглашениям?
Технически говоря , это потеря производительности (вариант использования1) если вы импортируете что-то, это никогда не использовалось, но было передано пользователю.Я рекомендую вам проверить методы оптимизации веб-пакетов (Минимизация, дедупликация, чанки).
Также вы знаете о Разделение кода веб-пакета ?
Разделение кода - одна из наиболее привлекательных особенностей веб-пакета.Эта функция позволяет разбить ваш код на различные пакеты, которые затем могут быть загружены по требованию или параллельно.Его можно использовать для получения меньших пакетов и управления приоритетами загрузки ресурсов, которые при правильном использовании могут оказать значительное влияние на время загрузки.
Теперь представьте, что вы делите код в своем приложении, но вывсе еще есть много неиспользованного импорта.Это увеличит начальное время загрузки приложения и нарушит идею разделения кода.
Заключение :
Для нового проекта, очевидно, нет никаких преимуществ для включения неиспользованногоimport.
В зависимости от вашего случая вы можете измерить время загрузки определенных маршрутов с и без неиспользованного импорта.Большинство IDE предлагает эту функцию для удаления неиспользованного импорта, поэтому вы можете рассчитать влияние.