第十二章:基本数据类型

使类型转换变得明显,阅读你代码的人可以注意到。
避免混合类型的比较。
注意编译器的警告。
整数
检查整数除法,7/10总是会等于0
检查整数溢出,留心最大的可能整数。
浮点数
避免数量级相差巨大之间的数的加减运算
避免等量判断
处理舍入误差问题:换一种精度更高的变量类型、换用二进制编码的十进制、把浮点变量变成整形变量。
字符和字符串
避免off-by-one错误:读写超出了字符串的长度
了解你的语言是如何支持Unicode的,需要支持多种语言,请使用Unicode。
采用某种一致的字符串转换策略
用null初始化字符串,以避免无结束符的字符串
布尔变量
用布尔变量增加程序的可读性,简化复杂的判断
枚举类型
用枚举类型增加程序的可读性
用枚举类型来简化修改
作为布尔变量的替换方案
检查非法数值
定义出枚举的第一项和最后一项,以便用于循环边界
具名常量
在数据声明中使用具名常量
用具有适当作用域的变量或类来模拟具名常量
统一地使用具名常量
数组
确认所有的数组下标都没有超出数组边界。
考虑用容器来代替数组,或者将数组作为顺序化结构来处理:不要随机地访问数组,建议顺序地访问数组。
检查数组的边界点
创建自定义数据类型
给该类型取功能导向的名字
避免使用预定义类型