10.5 持续性
持续性具有多种形态:
- 特定代码段或子程序的生命期,例如for循环里声明的变量
- 只要你允许,它就会持续下去;比如malloc或者new的变量,直到你free或者delete才会消失
- 程序的生命期。大多数语言的全局变量都有这个特性,C++和Java中的static也是如此
- 永久持续,这一类变量可能包括你存储在数据库中的数据
在编程过程中,可能会存在变量已经消失,你却去访问它了,还有就是变量中保存的是旧的数据,你却以为是用对了;避免以上的情况可以采用的方式如下:
- 在程序中加入调试代码或断言来检查那些关键变量的合理取值
- 准备抛弃变量时给它们赋上“不合理的数值”
- 编写代码时要假设数据没有连续性;C 、C++和Java中的static除外
- 养成使用所有数据之前声明和初始化的习惯
10.6 绑定时间
- 采用越晚的绑定时间越有利
- 绑定时间越早灵活性就会越差,但复杂度也会越低
10.7 数据类型和控制结构之间的关系
顺序性数据翻译为程序中的顺序语句
选择性数据翻译为程序中的if和case语句
迭代数据翻译成程序中的for、repeat、while等循环结构
10.8 为变量指定单一用途
- 每个变量只用于单一用途
- 避免让代码具有隐含含义:把同一变量用于多个用途的另一种方式是当变量代表不同事物时让其具有不同的取值集合,这种滥用被称为混合耦合
- 确保使用了所有己声明的变量:调查表明未引用的变量数量与错误率呈正比