第 8 章 crate 与模块(1)
吉姆•布兰迪
这是 Rust 主题下的小小理念之一:系统程序员也能享受美好。
——Robert O'Callahan,“Random Thoughts on Rust: crates.io and IDEs”
假设你正在编写一个程序,用来模拟蕨类植物从单个细胞开始的生长过程。你的程序,也像蕨类植物一样,一开始会非常简单,所有的代码也许都在一个文件中——这只是想法的萌芽。随着成长,它将开始分化出内部结构,不同的部分会有不同的用途。然后它将分化成多个文件,可能遍布在各个目录中。随着时间的推移,它可能会成为整个软件生态系统的重要组成部分。对于任何超出几个数据结构或几百行代码的程序,进行适当的组织都是很有必要的。
本章介绍了 Rust 的一些特性(crate 与模块),这些特性有助于你的程序保持井井有条。我们还将涵盖其他与 Rust crate 的结构和分发有关的主题,包括如何记录与测试 Rust 代码、如何消除不必要的编译器警告、如何使用 Cargo 管理项目依赖项和版本控制、如何在 Rust 的公共 crate 存储库 crates.io 上发布开源库、Rust 如何通过语言版本进行演进等。本章将使用蕨类模拟器作为运行示例。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
Rust 中的 crate 和模块在程序组织和依赖管理中扮演着重要角色。本文以模拟蕨类植物生长过程的程序为例,阐述了程序规模增大时合理的组织结构的重要性。通过介绍 Rust crate 的结构和分发相关主题,包括记录、测试、消除编译器警告、使用 Cargo 管理项目依赖和版本控制,读者可以了解如何利用 Rust 的特性来保持程序的整洁和有序。文章还介绍了使用 Cargo 构建项目时的依赖管理过程,以及版本兼容性保证的重要性。通过对 crate 的依赖图和传递依赖的自动处理,Cargo 能够显著节省程序员的时间和精力。此外,文章还介绍了 Rust 语言版本的管理和迁移,以及如何使用配置文件和嵌套模块来组织代码。总的来说,本文通过实例和技术细节,向读者展示了 Rust 中程序组织和依赖管理的重要性,以及如何利用 Rust 的特性来实现高效的开发和维护。文章还介绍了将程序变成库的步骤,以及如何将现有项目分为库 crate 和可执行文件,以便共享基本的代码。文章还介绍了 Rust 程序中的属性,如 <code>#[cfg]</code> 和 <code>#[allow]</code>,以及如何使用 <code>#[inline]</code> 进行微观管理。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Rust 程序设计(第 2 版)》
《Rust 程序设计(第 2 版)》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论