代码大全学习笔记——第十章使用变量的一般事项2

10.5 持续性

持续性具有多种形态:

  1. 特定代码段或子程序的生命期,例如for循环里声明的变量
  2. 只要你允许,它就会持续下去;比如malloc或者new的变量,直到你free或者delete才会消失
  3. 程序的生命期。大多数语言的全局变量都有这个特性,C++和Java中的static也是如此
  4. 永久持续,这一类变量可能包括你存储在数据库中的数据

在编程过程中,可能会存在变量已经消失,你却去访问它了,还有就是变量中保存的是旧的数据,你却以为是用对了;避免以上的情况可以采用的方式如下:

  1. 在程序中加入调试代码或断言来检查那些关键变量的合理取值
  2. 准备抛弃变量时给它们赋上“不合理的数值”
  3. 编写代码时要假设数据没有连续性;C 、C++和Java中的static除外
  4. 养成使用所有数据之前声明和初始化的习惯

10.6 绑定时间

  1. 采用越晚的绑定时间越有利
  2. 绑定时间越早灵活性就会越差,但复杂度也会越低

10.7 数据类型和控制结构之间的关系

顺序性数据翻译为程序中的顺序语句

选择性数据翻译为程序中的if和case语句

迭代数据翻译成程序中的for、repeat、while等循环结构

10.8 为变量指定单一用途

  1. 每个变量只用于单一用途
  2. 避免让代码具有隐含含义:把同一变量用于多个用途的另一种方式是当变量代表不同事物时让其具有不同的取值集合,这种滥用被称为混合耦合
  3. 确保使用了所有己声明的变量:调查表明未引用的变量数量与错误率呈正比

要点

数据初始化很容易出错,所以请用本章描述的初始化方法来避免由于非预期的初始值而造成的错误
最小化变量的作用域,把变量的引用点集中到一起,把变量限定在子程序或类的范围之内,避免使用全局变量
把使用相同变量的语句集中到一起
早期绑定会将降低灵活性,但有助于减小复杂度;晚期绑定可以增加灵活性,但同时增加复杂度;
把每个变量用于唯一的用途

猜你喜欢

转载自blog.csdn.net/u012850592/article/details/89737896