第十章:变量
关闭隐式声明
声明全部变量
遵循某种命名规则
检查变量名
变量初始化原则
在声明变量的时候初始化
在靠近变量第一次使用的位置初始化它
在可能的情况下使用final和const,防止变量初始化之后再被赋值。
在构造函数里初始化该类的数据成员
检查是否需要重新初始化
检查输入参数的合法性
使用内存访问检查工具来检查错误的指针
在程序开始时,初始化工作内存
作用域
指变量在程序内的可见和可引用的范围。
使变量引用局部化:一般而言,把对一个变量的引用局部化,即把引用点尽可能集中在一起。
尽可能缩短变量的存活时间,缩短它跨越的语句数。
减小作用域的一般原则
在循环开始之前再去初始化该循环里使用的变量,而不是在子程序开始的地方。
直到变量即将被使用时再为其赋值
把相关的语句放到一起
持续性
在程序中加入调试代码或断言,来检查那些关键变量的合理取值。
准备抛弃变量时,给它们赋上不合理的数值
编写代码时要假设数据并没有持续性
绑定时间
把变量和它的值绑定在一起的时间。
采用越晚的绑定时间越有利,你把绑定时间定义的越晚,你的代码就越灵活,但是也会增加程序的复杂度。
数据类型和控制结构之间的关系
序列型数据翻译为程序中的顺序语句。
选择型数据翻译为程序中的if和case语句。
迭代型数据翻译为程序中的for、while等。
为变量指定单一用途
每个变量只用于单一用途
避免让代码具有隐含含义
确保使用了所有已声明的变量