语句

类型

  • 只针对一个文件的局部类型一般在相应文件内部声明。

  • 类必须按照public,protected和private的顺序分几部分。每部分必须被显式的标识。没有用到的部分应该预留。

  • 类型转换必须显式进行。不要依赖隐式的类型转换。

变量

  • 变量应该在它们声明的地方初始化。
  • 变量不要有双重含义。

  • 应该尽量少使用全局变量。

  • 类的变量应该不要声明为public。

  • 同一类型的相关的变量一般在一条语句中声明。
  • C++ 指针和引用的符号应该靠近变量名而非类型名。
  • const 关键字应该在类型名之前。
  • 布尔型变量和指针之外,应该不用隐式的0值测试。
  • 变量应该在尽可能小的范围内声明。

循环

  • 必须只有控制循环的语句包含在for()的构造中。

  • 循环变量应该在循环体前被初始化。

  • 一般避免do-while循环。
  • 在循环内应该避免使用break和continue。
  • 应该使用while(true)表示无限循环

条件

  • 必须避免非常复杂的条件表达式。通过引入临时的布尔变量代替。

  • 对于if语句,正常的分支应该放在if部分,异常部分放在else部分。

  • 条件应该放在单独的一行。

  • 必须避免在条件部分包含执行语句。

杂项

  • 应该在代码中避免出现神秘的数。除0和1以外的任何数均为神秘数,应该用命名常量代替。

  • 建议通过方法来访问常量。

  • 函数必须总是显式列出返回值。

  • 检查函数所有参数输入的有效性;并对所调用函数的错误返回码要仔细、全面地处理。

  • 应该不用goto。

  • 在不包含注释和空行的情况下,函数的规模尽量限制在200行以内。

  • 减少函数本身或函数间的递归调用;

  • 应该用”0”替代”NULL”。