第十章 使用变量的一般事项
2016-12-13 20:32 卡斯撸代码 阅读(214) 评论(0) 编辑 收藏 举报内容:10.1 数据认知
10.2轻松掌握变量定义
10.3变量初始化原则
10.4作用域
10.5持续性
10.6绑定时间
10.7数据类型和控制结构之间的关系
10.8为变量指定单一用途
10.1看你能知道多少个,0-4新手 15-19中级 20-24专家 25-29可以了 30-32你在撒谎
10.2轻松掌握变量定义
隐式声明:关闭隐式声明
声明全部的变量
遵循某种命名规则
检查变量名
10.3变量初始化原则
1、 在声明的时候初始化
2、 在靠近变量第一次使用的位置初始化它
3、理想情况下,在靠近第一次使用变量的位置声明和定义变量
4、在可能的情况下使用final 或者const
5、特别注意计数器和累加器
6、 在类的构造函数里初始化该类的数据成员
7、 检查是否需要重新初始化
8、 一次性初始化具名常量;用可执行代码来初始化变量
9、使用编译器设置来自动初始化所有变量
10、 利用编译器的警告信息
11、检查输入参数的合法性
12、使用内存访问检查工具来检查错误的指针
13、在程序开始时初始化工作内存
10.4作用域
1、使用变量引用局部化
2、尽可能缩短变量的存活时间
测量变量的生存时间:可以用来写个工具测试从开始定义到最后使用有多少行
3、减少作用域的一般原则
在循环开始之前再去初始化该循环里使用的变量
直到变量即将被使用时再为其赋值
吧相关语句放到一起
把相关语句组提取成单独的子程序
开始时采用最严格的可见性,然后根据需要扩展变量的作用域
4、有关缩小变量作用域的说明
10.5持续性
1、 使用断言来判断是否合理
2、抛弃变量时给它赋 一个不合理的 值 例如指针赋null
3、编写代码时要假设数据并没有持续性
4、养成在使用所有数据之前声明和初始化的习惯
10.6绑定时间
绑定时间越晚越有利
编码时
编译时
加载时
对象实例化时
即时
10.7 数据类型和控制结构之间的关系
序列型数据翻译为程序中的顺序语句
选择型数据翻译为程序中的if和case语句
迭代型数据翻译成程序中的for repeat while 等循环结构
10.8为变量指定单一用途
每个变量只用单一用途
避免让代码具有隐含含义
确保使用了所有已声明的变量