-
Notifications
You must be signed in to change notification settings - Fork 195
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
287 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,75 @@ | ||
# 《代码大全2》-读书笔记 | ||
|
||
# 阅读指南 | ||
|
||
1. 初级程序员:优先18章 | ||
2. 高级程序员:优先4章 | ||
3. 项目经理:优先33章 | ||
4. 低年级学生:优先11章 | ||
5. 高年级学生:优先8章 | ||
6. 制定编码标准的人:优先32章 | ||
7. 自学编程的人:优先7章 | ||
8. 喜欢参与网上争议的人:13.3和17.3 | ||
|
||
# 第1部分 打好基础 | ||
|
||
# 第1章 欢迎进入软件构建的世界 | ||
|
||
## 1.1 什么是软件构建 | ||
|
||
软件开发过程中的不同活动: | ||
|
||
+ 定义问题 | ||
+ 需求分析 | ||
+ 规划构建 | ||
+ 软件架构,高层设计 | ||
+ 详细设计 | ||
+ 编码与调试 | ||
+ 单元测试 | ||
+ 集成测试 | ||
+ 集成 | ||
+ 系统测试 | ||
+ 保障维护 | ||
|
||
## 1.2 软件构建为何如此重要 | ||
|
||
## 1.3 如何阅读本书 | ||
|
||
# 第2章 用隐喻来更充分地理解软件开发 | ||
|
||
## 2.1 隐喻的重要性 | ||
|
||
类比,比较, 最后使用隐喻表述,即“建模”(modeling)。 | ||
|
||
## 2.2 如何使用软件隐喻 | ||
|
||
将问题有效地概念化。(个人理解上就是将问题拆解成通俗、广为人知的小问题或者概念,而不是指一昧地造词增加理解难度) | ||
|
||
## 2.3 常见的软件隐喻 | ||
|
||
+ 隐喻是启示而不是算法。因此它们往往有一点随意(sloopy)。 | ||
+ 隐喻把软件开发过程与其他你熟系的活动联系在一起,帮助你更好地理解。 有些隐喻比其他一些隐喻更贴切。 | ||
+ 通过把软件的构建过程比作是房屋的建设过程,我们可以发现,仔细的准备 是必要的,而大型项目和小型项目之间也是有差异的。 | ||
+ 通过把软件开发中的实践比作是智慧工具箱中的工具,我们又发现,每位程 序员都有许多工具,但并不存在任何一个能适用于所有工作的工具,因地制 宜地选择正确工具是成为能有效编程的程序员的关键。 | ||
+ 不同的隐喻彼此并不排斥,应当使用对你最有益处的某种隐喻组合。 | ||
|
||
# 第3章 三思而后行: 前期准备 | ||
|
||
## 3.1 前期准备的重要性 | ||
|
||
造成准备工作不充分的常见原因: | ||
|
||
1. 开发人员本身不具备做前期准备的专业技能能力 | ||
2. 无法抵抗快速开始代码工作的欲望 | ||
3. 管理者轻视准备工作并压缩开发者的工作时间 | ||
|
||
## 3.2 辨明你所从事的软件的类型 | ||
|
||
## 3.3 问题定义的先决条件 | ||
|
||
## 3.4 需求的先决条件 | ||
|
||
## 3.5 架构的先决条件 | ||
|
||
## 3.6 花费在前期准备上的时间长度 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters