Является ли хорошей практикой включать каждую библиотеку, которая мне нужна для выполнения функции внутри этой функции?Включить вызовы библиотеки в функции?
Например, мой файл global.r
содержит несколько функций, которые мне нужны для блестящего приложения. В настоящее время у меня есть все необходимые пакеты в верхней части файла. Когда я переключаю проекты/копируя эти функции, мне приходится загружать пакеты/включать их в новый код. В противном случае все необходимые пакеты содержатся в этой функции. Конечно, мне нужно проверить все функции с помощью нового сеанса R, но я думаю, что это может помочь в долгосрочной перспективе.
Когда я попытался загрузить пакет дважды, он снова не загрузит пакет, но проверяет, что он уже загружен. Мой главный вопрос: может ли он замедлить мои функции, если я реструктурирую таким образом?
Я только видел эту практику, библиотека вызывает внутри функции, поэтому я не уверен.
Как можно больше функция не должна иметь глобальные эффекты, то есть эффекты вне самой функции, но загрузка пакета является глобальным эффектом, поэтому нежелательно поместить его в функцию. Вместо этого он должен быть указан глобально вне функции. –
@ G.Grothendieck: это должен быть ответ. :) –
Вы можете рассмотреть возможность размещения ваших функций в пакете. Это позволит вам лучше контролировать, хотите ли вы загружать другие пакеты или импортировать все или только некоторые функции из них. – Roland