diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index 0c0e228..a4c7b08 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -12,7 +12,7 @@
- [猜猜看游戏教程](ch02-00-guessing-game-tutorial.md)
-- [通用编程概念](ch03-00-common-programming-concepts.md)
+- [常见编程概念](ch03-00-common-programming-concepts.md)
- [变量与可变性](ch03-01-variables-and-mutability.md)
- [数据类型](ch03-02-data-types.md)
- [函数如何工作](ch03-03-how-functions-work.md)
@@ -36,11 +36,11 @@
## 基本 Rust 技能
-- [包、crate 与 模块](ch07-00-packages-crates-and-modules.md)
+- [包、crate 与模块](ch07-00-packages-crates-and-modules.md)
- [包和 crate 用来创建库和二进制项目](ch07-01-packages-and-crates-for-making-libraries-and-executables.md)
- [模块系统用来控制作用域和私有性](ch07-02-modules-and-use-to-control-scope-and-privacy.md)
-- [通用集合类型](ch08-00-common-collections.md)
+- [常见集合](ch08-00-common-collections.md)
- [vector](ch08-01-vectors.md)
- [字符串](ch08-02-strings.md)
- [哈希 map](ch08-03-hash-maps.md)
diff --git a/src/ch00-00-introduction.md b/src/ch00-00-introduction.md
index 974f626..6977c74 100644
--- a/src/ch00-00-introduction.md
+++ b/src/ch00-00-introduction.md
@@ -60,7 +60,7 @@ Rust 语言也希望能支持很多其他用户,这里提及的只是最大的
第五章讨论结构体和方法,第六章介绍枚举、`match` 表达式和 `if let` 控制流结构。在 Rust 中,你将使用结构体和枚举创建自定义类型。
-第七章,你会学习 Rust 的模块系统和私有性规则来组织代码和公有应用程序接口(Application Programming Interface, API)。第八章讨论了一些标准库提供的通用集合数据结构,比如 vector、字符串和哈希 map。第九章探索了 Rust 的错误处理哲学和技术。
+第七章,你会学习 Rust 的模块系统和私有性规则来组织代码和公有应用程序接口(Application Programming Interface, API)。第八章讨论了一些标准库提供的常见集合数据结构,比如 vector、字符串和哈希 map。第九章探索了 Rust 的错误处理哲学和技术。
第十章深入介绍泛型、trait 和生命周期,他们提供了定义出适用于多种类型的代码的能力。第十一章全部关于测试,即使 Rust 有安全保证,也需要测试确保程序逻辑正确。第十二章,我们构建了属于自己的在文件中搜索文本的命令行工具 `grep` 的子集功能实现。为此会利用之前章节讨论的很多概念。
diff --git a/src/ch03-00-common-programming-concepts.md b/src/ch03-00-common-programming-concepts.md
index 88b4c33..c8b290a 100644
--- a/src/ch03-00-common-programming-concepts.md
+++ b/src/ch03-00-common-programming-concepts.md
@@ -1,4 +1,4 @@
-# 通用编程概念
+# 常见编程概念
> [ch03-00-common-programming-concepts.md](https://github.com/rust-lang/book/blob/master/src/ch03-00-common-programming-concepts.md)
>
diff --git a/src/ch08-00-common-collections.md b/src/ch08-00-common-collections.md
index c937fb0..fbce119 100644
--- a/src/ch08-00-common-collections.md
+++ b/src/ch08-00-common-collections.md
@@ -1,4 +1,4 @@
-# 通用集合类型
+# 常见集合
> [ch08-00-common-collections.md](https://github.com/rust-lang/book/blob/master/src/ch08-00-common-collections.md)
>
diff --git a/src/ch12-06-writing-to-stderr-instead-of-stdout.md b/src/ch12-06-writing-to-stderr-instead-of-stdout.md
index a1d7658..1a289a5 100644
--- a/src/ch12-06-writing-to-stderr-instead-of-stdout.md
+++ b/src/ch12-06-writing-to-stderr-instead-of-stdout.md
@@ -4,7 +4,7 @@
>
> commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
-目前为止,我们将所有的输出都 `println!` 到了终端。大部分终端都提供了两种输出:**标准输出**(*standard output*,`stdout`)对应通用信息,**标准错误**(*standard error*,`stderr`)则用于错误信息。这种区别允许用户选择将程序正常输出定向到一个文件中并仍将错误信息打印到屏幕上。
+目前为止,我们将所有的输出都 `println!` 到了终端。大部分终端都提供了两种输出:**标准输出**(*standard output*,`stdout`)对应一般信息,**标准错误**(*standard error*,`stderr`)则用于错误信息。这种区别允许用户选择将程序正常输出定向到一个文件中并仍将错误信息打印到屏幕上。
但是 `println!` 函数只能够打印到标准输出,所以我们必需使用其他方法来打印到标准错误。
diff --git a/src/ch15-01-box.md b/src/ch15-01-box.md
index 04b88ea..9c6fe8a 100644
--- a/src/ch15-01-box.md
+++ b/src/ch15-01-box.md
@@ -45,7 +45,7 @@ Rust 需要在编译时知道类型占用多少空间。一种无法在编译时
*cons list* 是一个来源于 Lisp 编程语言及其方言的数据结构。在 Lisp 中,`cons` 函数(“construct function" 的缩写)利用两个参数来构造一个新的列表,他们通常是一个单独的值和另一个列表。
-cons 函数的概念涉及到更通用的函数式编程术语;“将 *x* 与 *y* 连接” 通常意味着构建一个新的容器而将 *x* 的元素放在新容器的开头,其后则是容器 *y* 的元素。
+cons 函数的概念涉及到更常见的函数式编程术语;“将 *x* 与 *y* 连接” 通常意味着构建一个新的容器而将 *x* 的元素放在新容器的开头,其后则是容器 *y* 的元素。
cons list 的每一项都包含两个元素:当前项的值和下一项。其最后一项值包含一个叫做 `Nil` 的值并没有下一项。cons list 通过递归调用 `cons` 函数产生。代表递归的终止条件(base case)的规范名称是 `Nil`,它宣布列表的终止。注意这不同于第六章中的 “null” 或 “nil” 的概念,他们代表无效或缺失的值。