第1章 欢迎进入软件构建的世界 

1.1 什么是软件构建

    构建活动主要是编码与调试,但是还会详细设计、规划构建、单元测试、集成、集成测试等活动。构建有时候也会被认为是“编码(coding)”或“变成(programming)”。编码算不上是最贴切的词,因为他有一种把已经存在的设计机械化的翻译成计算机语言的意味,而构建并不是那么机械化的,需要可观的创造力和判断力。
    构建活动中的具体任务:

  • 验证有关的基础工作已经完成,因此构建活动可以顺利的进行下去
  • 确定如何测试所有的代码
  • 设计并编写类和子程序
  • 选择控制结构,组织语句块
  • 对你的代码进行单元测试和集成测试,并排除其中的错误
  • 评审开发团队其他成员的底层设计和代码,并让他们评审你的工作
  • 润饰代码,仔细进行代码的格式化和注释
  • 将单独开发的多个软件组件集成为一体
  • 调整代码,让他更快,更节省资源
  • 非构建活动包括:管理、需求分析、软件架构设计、用户界面设计、系统测试,以及维护

1.2 软件构建为何如此重要

  1. 构建活动是软件开发的重要组成部分
  2. 构建活动是软件开发中的重要活动
  3. 把主要的精力集中于构建活动,可以大大提高程序员的生产率
  4. 构建活动的产物——源代码——往往是对软件的唯一准确描述
  5. 构建活动是唯一一项确保会完成的工作

第2章 用隐喻来更充分的理解软件开发

2.1 隐喻的重要性

通过把你太理解的东西和一些较为理解、且十分类似的东西作比较,你可以对这些不太理解的东西产生更深刻的理解。

2.2 如何使用隐喻

他不会告诉你到哪里寻找答案,而仅是告诉你如何去寻找答案。隐喻的作用更像是启示,而不是算法。算法直接给你解决问题的指导,而启发式方式则告诉你该如何发现这些知道信息,或者至少到哪里去寻找他们。

2.3 常见的软件隐喻

  • 软件中的书法:写作代码
  • 软件的耕作法:培植系统
  • 软件的牡蛎养殖观点:系统生长
  • 软件构建:建造软件
  • 应用软件技术:智慧工具箱

第3章 三思而后行:前期准备 

3.1 前期准备的重要性

准备工作的中心目标就是降低风险:一个好的项目规划者能够尽可能早地将主要的风险清除掉,以使项目的大部分工作能够尽可能平稳地进行。目前,软件开发中最常见的项目风险是糟糕的需求分析和糟糕的项目计划,因此准备工作就倾向于集中改进需求分析和项目规划。
软件开发不仅仅是写代码。