第1章 欢迎进入软件构建的世界
1.1 什么是软件构建
构建活动主要是编码与调试,但是还会详细设计、规划构建、单元测试、集成、集成测试等活动。构建有时候也会被认为是“编码(coding)”或“变成(programming)”。编码算不上是最贴切的词,因为他有一种把已经存在的设计机械化的翻译成计算机语言的意味,而构建并不是那么机械化的,需要可观的创造力和判断力。
构建活动中的具体任务:
- 验证有关的基础工作已经完成,因此构建活动可以顺利的进行下去
- 确定如何测试所有的代码
- 设计并编写类和子程序
- 选择控制结构,组织语句块
- 对你的代码进行单元测试和集成测试,并排除其中的错误
- 评审开发团队其他成员的底层设计和代码,并让他们评审你的工作
- 润饰代码,仔细进行代码的格式化和注释
- 将单独开发的多个软件组件集成为一体
- 调整代码,让他更快,更节省资源
- 非构建活动包括:管理、需求分析、软件架构设计、用户界面设计、系统测试,以及维护
1.2 软件构建为何如此重要
- 构建活动是软件开发的重要组成部分
- 构建活动是软件开发中的重要活动
- 把主要的精力集中于构建活动,可以大大提高程序员的生产率
- 构建活动的产物——源代码——往往是对软件的唯一准确描述
- 构建活动是唯一一项确保会完成的工作
第2章 用隐喻来更充分的理解软件开发
2.1 隐喻的重要性
通过把你太理解的东西和一些较为理解、且十分类似的东西作比较,你可以对这些不太理解的东西产生更深刻的理解。
2.2 如何使用隐喻
他不会告诉你到哪里寻找答案,而仅是告诉你如何去寻找答案。隐喻的作用更像是启示,而不是算法。算法直接给你解决问题的指导,而启发式方式则告诉你该如何发现这些知道信息,或者至少到哪里去寻找他们。
2.3 常见的软件隐喻
- 软件中的书法:写作代码
- 软件的耕作法:培植系统
- 软件的牡蛎养殖观点:系统生长
- 软件构建:建造软件
- 应用软件技术:智慧工具箱
第3章 三思而后行:前期准备
3.1 前期准备的重要性
准备工作的中心目标就是降低风险:一个好的项目规划者能够尽可能早地将主要的风险清除掉,以使项目的大部分工作能够尽可能平稳地进行。目前,软件开发中最常见的项目风险是糟糕的需求分析和糟糕的项目计划,因此准备工作就倾向于集中改进需求分析和项目规划。
软件开发不仅仅是写代码。