Merge pull request #10 from 871f/patch-3

Update ch14-02-publishing-to-crates-io.md
This commit is contained in:
Alex 2021-07-16 14:06:03 +08:00 committed by GitHub
commit 626c050e74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -166,7 +166,7 @@ fn main() {
<span class="caption">示例 14-4一个通过导出内部结构使用 `art` crate 中项的 crate</span>
示例 14-4 中使用 `art` crate 代码的作者不得不搞清楚 `PrimaryColor` 位于 `kinds` 模块`mix` 位于 `utils` 模块。`art` crate 的模块结构相比使用它的开发者来说对编写它的开发者更有意义。其内部的 `kinds` 模块和 `utils` 模块的组织结构并没有对尝试理解如何使用它的人提供任何有价值的信息。`art` crate 的模块结构因不得不搞清楚所需的内容在何处必须在 `use` 语句中指定模块名称而显得混乱和不便。
示例 14-4 中使用`art` crate 代码的作者不得不搞清楚 `PrimaryColor` 位于 `kinds` 模块、`mix` 位于 `utils` 模块。`art` crate 的模块结构对编写它的开发者更有意义,而不是使用者对尝试如何使用它的人来说,其内部的 `kinds` 模块和 `utils` 模块的组织结构并没有提供任何有价值的信息。`art` crate 的模块结构因不得不搞清楚所需的内容在何处,以及必须在 `use` 语句中指定模块名称而显得混乱和不便。
为了从公有 API 中去掉 crate 的内部组织,我们可以采用示例 14-3 中的 `art` crate 并增加 `pub use` 语句来重导出项到顶层结构,如示例 14-5 所示: