4. Рекомендации по организации R-кода
• Организация функций в файлы
• Не используйте внутри пакета команды library() и source()
5. Рекомендации по организации R-кода
• library() и require() изменяют путь поиска, влияя на то, какие функции доступны из
глобальной среды. Вместо этого вы должны использовать DESCRIPTION для указания
требований вашего пакета. Это также гарантирует, что эти пакеты будут установлены при
установке вашего пакета.
• source() изменяет текущую среду, вставляя результаты выполнения кода. Для
использования добавленных функций в ваш пакет используйте load_all() или test().
6. Рекомендации по организации R-кода
• Организация функций в файлы
• Не используйте внутри пакета команды library() и source()
• Не изменяйте настройки R среды
7. Рекомендации по организации R-кода
Для того, что бы не изменяьт настройки среды пользователей пакет избегайте использования
в коде следующих функций:
• options()
• par()
• setwd()
• Sys.setenv()
• Sys.setlocale()
• set.seed()
8. Рекомендации по организации R-кода
При необходимости изменения опций внутри функций используйте:
• Функцию on.exit()
• Пакет withr
• with_*() - функции лучше всего подходят для выполнения небольших фрагментов кода с временно
измененным состоянием.
• local_*() - функции определяют значения опций, которые будут действоваьт до выхода из функции.
• Внутренние опции пакета объявляйте внутри функции .onLoad()
9. Рекомендации по организации R-кода
• Организация функций в файлы
• Не используйте внутри пакета команды library() и source()
• Не изменяйте настройки R среды
• Помните, что код пакета определённый за пределами кода его функций выполняется всего
один раз при сборке пакета, в отличие от обычных R скриптов.