第一章:程序之道
- 作为计算机科学家,最重要的技能是问题求解。问题求解是发现问题,创造性地思考解决方案以及清晰准确地表达解决方案的能力。
- 程序是一组定义如何进行计算的指令的集合
- 基本指令:输入,输出,数学,条件,循环
- 形式语言是人们为了特殊用途设计的语言。编程语言是人们为了表达计算过程而设计出来的设计的形式语言。
- 语法规则有两种,一种是记号,另一种是结构
第二章:变量,表达式和语句
- 字符串操作符号:+, *
- 模块是指包含一组相关函数的文件
- 赋值表达式的左边必须是变量名称,在左边放置任何其他的表达式都是语法错误
- 在某种程度上,调试和刑侦工作很像。你会面对一些线索,而且必须推导出事情发生的过程,以及导致现场结果的事件。
第三章:函数
- 把一段代码用函数包裹起来,称为封装。
- 给函数添加参数的过程称为泛化
- 函数的接口是如何使用它的概要说明:它有哪些参数?这个函数做什么?它的返回值是什么?
第四章:案例研究:接口设计
- 重构:重新组织程序,以改善接口,提高代码复用
- 文档字符串包含了其他人需要知道的关于函数的基本信息。它简明地解释了函数是做什么的(而不设计如何实现的细节)。它解释了每个形参对函数行为的影响效果以及每个形参应有的类型(如果其类型并不显而易见)。如果你发现解释一个函数很苦难,很可能表示该接口有改进的空间
- 如果前置条件已经满足,但后置条件没有满足,那么bug就出现在函数本身。如果前置错误,则bug在调用者