参考:https://developer.lsst.io/cpp/style.html
1. 命名约定
- 名称+修饰词
- 类名应大写每个单词首字母,例如
ClassName
变量名尽量写成line_width 中间加下划线的格式
命名常量(const/enum)必须全部大写+下划线 int const MAX_ITERATIONS = 25;
私有成员变量和成员函数最前面加下划线 private: void _get_name(){};
命名空间 首字母小写+驼峰式
布尔变量的命名采用 bool isOpen;
2.声明
using声明不得在头文件中使用
任何变量在声明时就初始化
在尽可能小的范围内声明变量
无限循环使用while(true)
避免if条件语句后的可执行语句,尽量用bool变量代替,越简单越好
构造函数声明前要加explicit,防止构造函数参数的隐式转换
浮点常量必须加小数,即时是.0
nullptr代替null和0
#define尽量少用 用const代替
使用预处理代替注释代码
#define DEBUG_IO 1 #if defined(DEBUG_IO) [...statements...] #endif
3.布局
基本缩进:4个空格
-
// Example 1: while (!done) { // Yes,注意中括号的位置!!! doSomething(); done = moreToDo(); }
-
if (condition) { ... } else if (condition) { ... } else { ... }
- 注释不要与代码行混用