1. 变量初始化
      1. 从未对变量赋值
      2. 变量值已经过期
      3. 变量的一部分被赋值,而另一部分没有
      4. 在声明变量的时候初始化
      5. 在可能的情况下使用const
      6. 特别注意计数器和累加器 -> 清零或重置
      7. 在类的构造函数里初始化类的数据成员
      8. 检查是否需要重新初始化
      9. 利用编译器的警告信息
      10. 检查输入参数的合法性
    2. 减少作用域的原则
      1. 在循环开始之前再去初始化该循环里使用的变量
      2. 直到变量即将被使用是再为其赋值
      3. 把相关语句放到一起
      4. 把相关语句提取成单独的子程序
      5. 根据需要扩展变量的作用域
    3. 为变量指定单一用途
      1. 每个变量只用于单一用途
      2. 使变量具有明确地含义 避免让代码具有隐含含义
      3. 确保使用了所有已声明的含义
    4. 命名注意事项
      1. 完全准备的表达要表达的事务
      2. 变量名的平均长度在10-16个字符,如果短于,则应该保证所表达的含义足够清晰
      3. 比如total,sum,max等限定词,应该加在名字最后面
    5. 非正式命名规则
      1. 通过大写字母开头区分类型和变量 如: Widget,widget
      2. 标识全局变量 如统一添加g_开头
      3. 代码阅读的次数远多于编写的次数,确保所取的名字更易于阅读