это может относиться к другим языкам и не ограничиваться R, но я столкнулся с этим при попытке построить проект R, поэтому я публикую здесь.
Допустим, в моем проекте у меня есть
- Main.R
- Utilities.R
и в Utilities.RI есть
# Utilities.R
foo <- function(save_path) {
print(save_path)
}
, а в Main.RI -
# Main.R
source("Utilities.R")
save_path <- "path/to/folder"
foo(save_path = save_path)
Однако я обнаружил, что на самом деле мне не нужноустановить save_path
в качестве параметра вообще.Если я установлю файлы как
# Utilities.R
foo <- function() {
print(save_path)
}
# Main.R
source("Utilities.R")
save_path <- "path/to/folder"
foo()
, я смогу добиться того же результата, поскольку save_path
существует в области действия Main.R
.Это плохая практика?Допустим, у меня есть множество этих глобальных переменных, установленных / определенных в Main.R
, которые используются в foo()
, лучше ли передавать все из них явно?