Merge pull request #316 from JesseAtSZ/patch-1

Update intro.md
pull/326/head
Sunface 3 years ago committed by GitHub
commit b43e138b40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3,14 +3,14 @@
当工程规模变大时,把代码写到一个甚至几个文件中,都是不太聪明的做法,可能存在以下问题: 当工程规模变大时,把代码写到一个甚至几个文件中,都是不太聪明的做法,可能存在以下问题:
1. 单个文件过大,导致打开、翻页速度大幅变慢 1. 单个文件过大,导致打开、翻页速度大幅变慢
2. 查询和定位效率大幅降低,类比下,你会把所有知识内容放在一个几十万字的文档中吗? 2. 查询和定位效率大幅降低,类比下,你会把所有知识内容放在一个几十万字的文档中吗?
3. 只有一个代码层次:函数,难以维护和协作,想象一下你的操作系统只有一个根目录,剩下的都是单层子目录会如何: `disaster` 3. 只有一个代码层次:函数,难以维护和协作,想象一下你的操作系统只有一个根目录,剩下的都是单层子目录会如何`disaster`
4. 容易滋生Bug 4. 容易滋生Bug
同时,将大的代码文件拆分成包和模块,还允许我们实现代码抽象和复用:将你的代码封装好后提供给用户,那么用户只需要调用公共接口即可,无需知道内部该如何实现。 同时,将大的代码文件拆分成包和模块,还允许我们实现代码抽象和复用:将你的代码封装好后提供给用户,那么用户只需要调用公共接口即可,无需知道内部该如何实现。
因此跟其它语言一样Rust 也提供了相应概念用于代码的组织管理: 因此跟其它语言一样Rust 也提供了相应概念用于代码的组织管理:
- Packages: 一个 `Cargo` 提供的feature可以用来构建、测试和分享包 - Packages一个 `Cargo` 提供的feature可以用来构建、测试和分享包
- 包Crate: 一个由多个模块组成的树形结构,可以作为三方库进行分发,也可以生成可执行文件进行运行 - 包Crate一个由多个模块组成的树形结构,可以作为三方库进行分发,也可以生成可执行文件进行运行
- 模块:可以一个文件多个模块,也可以一个文件一个模块,模块可以被认为是真实项目中的代码组织单元 - 模块:可以一个文件多个模块,也可以一个文件一个模块,模块可以被认为是真实项目中的代码组织单元
下面,让我们一一来学习这些概念以及如何在实践中运用。 下面,让我们一一来学习这些概念以及如何在实践中运用。

Loading…
Cancel
Save