The Rust Programming Language - 第7章 使用包、crate和模块管理不断增长的项目 - 7.5 将模块分割进不同文件

7 使用包、crate和模块管理不断增长的项目

当我们编写大型程序时,组织代码就显得非常重要,因为我们想直接在脑海中构建整个程序,几乎不可能完成的。

随着项目的增长:我们可以把代码分解成多个模块和多个文件来组织

一个包可以包含多个二进制crate和一个可选的crate库,伴随的着包的增长,我们可以将部分代码提取出来,做成独立的crate,这些crate作为外部依赖项

对一个由一系列相互关联的包组合而成的超大大型项目,Cargo提供了“工作空间”这一功能,我们将会在第十四章中cargo workspaces 对此进行讲解

除了对功能进行分组之外,封装实现细节可以让我们更加高级的重用代码:当我们实现了一个操作后,其它代码可以通过该代码的公共接口来进行调用,而不用关心它的实现细节。我们在编写代码时就可以定义哪些部分是其它代码可以使用的公共部分,以及哪些部分是我们有权更改的私有部分

Rust管理代码的“模块系统”包括:

包:cargo的一个功能,它允许我们构建】、测试和分享crate

Crates:一个模块的树形结构,它形成了库或者二进制项目

模块use:允许我们控制作用域和路径的私有性

路径:一个命名例如结构体、函数或模块等项的方式

7.5 将模块分割进不同文件

到目前为止,我们遇到的例子,都是在一个模块中定义多个模块,当模块变的很大时,你可能想要将它们的定义移动到单独的文件中,从而使代码更容易阅读

我们来把front_of_house 模块移动到src/front_of_house


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部