朱莉娅:将东西打包成模块而不是包含()

时间:2016-05-03 00:43:31

标签: julia

我正在朱莉娅建立模拟,我的代码分为一堆文件。将所有内容包装在模块中是否有任何好处而不是简单地include()将它们包含在脚本中?

我现在在我的脚本的顶部有类似的内容:

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

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

1 个答案:

答案 0 :(得分:3)

我想说最重要的好处是模块化:) 如果您有不同的文件处理不同的事情,将代码拆分为模块,您可以跟踪模块之间的依赖关系:

  • 哪些功能纯粹是给定模块的实现细节,可能会有变化?
  • 哪些模块取决于哪些模块?

如果您需要,如果您对导出的内容有点小心,它还允许您在不同模块中为不同的模块重用相同的名称。 (您仍然可以从外部访问这些名称作为限定名称)

有关此类组织的示例,您可以查看我的回购https://github.com/toivoh/Debug.jl