Julia 朱莉娅:将东西打包到模块中,而不是将其包含()

Julia 朱莉娅:将东西打包到模块中,而不是将其包含(),julia,Julia,我正在Julia中构建一个模拟,我的代码被分割成一堆文件。将所有内容包装在模块中,与简化运行脚本中的include()-ing相比,有什么好处吗 我现在在运行脚本的顶部有如下内容: for filename in split(readall(`git ls-files`)) @everywhere include(filename) end 我不打算在这个直接项目之外使用代码,但我正在并行运行模拟。创建模块有什么好处吗?我认为最重要的好处是模块化:) 如果您有处理不同内容的不同文件,请

我正在Julia中构建一个模拟,我的代码被分割成一堆文件。将所有内容包装在模块中,与简化运行脚本中的
include()
-ing相比,有什么好处吗

我现在在运行脚本的顶部有如下内容:

for filename in split(readall(`git ls-files`))
    @everywhere include(filename)
end

我不打算在这个直接项目之外使用代码,但我正在并行运行模拟。创建模块有什么好处吗?

我认为最重要的好处是模块化:) 如果您有处理不同内容的不同文件,请将代码拆分为模块,以便跟踪模块之间的依赖关系:

  • 哪些功能纯粹是给定模块的实现细节,可能会发生更改
  • 哪些模块取决于哪些其他模块
如果需要,如果您对导出的内容有点谨慎,它还允许您在不同的模块中为不同的内容重用相同的名称。(您仍然可以从外部作为限定名称访问这些名称)

例如,你可以看看我的回购协议