首页 文章

朱莉娅:将东西打包成模块,然后包括()

提问于
浏览
3

我正在朱莉娅 Build 一个模拟,我的代码分为一堆文件 . 将所有内容包装在模块中是否有任何好处而不是简单地将它们包含在运行文件中?

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

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

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

1 回答

  • 3

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

    • 哪些函数纯粹是给定模块的实现细节,可能会有变化?

    • 哪些模块取决于哪些其他模块?

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

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

相关问题