我正在朱莉娅建立模拟,我的代码分为一堆文件。将所有内容包装在模块中是否有任何好处而不是简单地include()
将它们包含在脚本中?
我现在在我的脚本的顶部有类似的内容:
for filename in split(readall(`git ls-files`))
@everywhere include(filename)
end
我不打算在这个直接项目之外使用代码,但我正在并行运行模拟。创建模块有什么好处吗?
答案 0 :(得分:3)
我想说最重要的好处是模块化:) 如果您有不同的文件处理不同的事情,将代码拆分为模块,您可以跟踪模块之间的依赖关系:
如果您需要,如果您对导出的内容有点小心,它还允许您在不同模块中为不同的模块重用相同的名称。 (您仍然可以从外部访问这些名称作为限定名称)
有关此类组织的示例,您可以查看我的回购https://github.com/toivoh/Debug.jl