一. 数值概论

  1. 避免使用神秘数值
    程序主题中仅能出现的文字量就是0和1, 任何其他文字量都应该换成更有描述性的表示
    比如一个输入框只能输入1到100的数字, 进行判断时:

    1
    if(1<=input<=100)

    没有

    1
    2
    3
    const min = 1
    const max = 100
    if(min <= input <= max)

    可读性高

  2. 预防除零
    每次使用 “/“ 都要考虑分母会不会是0

  3. 使用类型转换来明确数值的类型
    int(a) 与 a , 很明显知道a是一个什么类型的数据

  4. 避免混合类型的比较

二. 整数

  1. 检查整数除法

  2. 检查整数溢出, 在做乘法或者加法的时候, 要留心可能的最大整数, 会不会超过语言允许的最大数值

  3. 检查中间结果溢出, 需要考虑的不止是结果的溢出, 还有可能在中间计算过程中会溢出

三. 浮点数

  1. 避免数量级相差巨大的数之间的加减运算

  2. 避免等量判断

四. 字符和字符串

  1. 避免使用神秘字符和字符串

  2. 如果需要支持多种语言, 使用Unicode

五. 布尔变量

  1. 用布尔变量对程序加以文档说明, 即先将比较关系赋值给变量再进行比较

  2. 用布尔变量来简化复杂的判断

六. 具名常量

  1. 使用具名常量是一种将程序”参数化”的方法 , 即把程序中可能变化的一个方面写为一个参数, 当需要对其修改时, 只改动一处就可以了, 而不必在程序中到处改动

七. 数组

  1. 确认所有的数组下标都没有超过数组的边界

  2. 如果数组是多维的, 确认下标的使用顺序是正确的