读《代码大全》之变量声明
一. 数值概论
避免使用神秘数值
程序主题中仅能出现的文字量就是0和1, 任何其他文字量都应该换成更有描述性的表示
比如一个输入框只能输入1到100的数字, 进行判断时:1
if(1<=input<=100)
没有
1
2
3const min = 1
const max = 100
if(min <= input <= max)可读性高
预防除零
每次使用 “/“ 都要考虑分母会不会是0使用类型转换来明确数值的类型
int(a) 与 a , 很明显知道a是一个什么类型的数据避免混合类型的比较
二. 整数
检查整数除法
检查整数溢出, 在做乘法或者加法的时候, 要留心可能的最大整数, 会不会超过语言允许的最大数值
检查中间结果溢出, 需要考虑的不止是结果的溢出, 还有可能在中间计算过程中会溢出
三. 浮点数
避免数量级相差巨大的数之间的加减运算
避免等量判断
四. 字符和字符串
避免使用神秘字符和字符串
如果需要支持多种语言, 使用Unicode
五. 布尔变量
用布尔变量对程序加以文档说明, 即先将比较关系赋值给变量再进行比较
用布尔变量来简化复杂的判断
六. 具名常量
- 使用具名常量是一种将程序”参数化”的方法 , 即把程序中可能变化的一个方面写为一个参数, 当需要对其修改时, 只改动一处就可以了, 而不必在程序中到处改动
七. 数组
确认所有的数组下标都没有超过数组的边界
如果数组是多维的, 确认下标的使用顺序是正确的