c++代码风格
一.格式
1.行长
- 一行最大长度为80个字符
2.缩进
-
谷歌规范只使用空格,不使用制表符,默认缩紧2空格
-
我认为这个没有硬性规定,4个空格也可以
3.函数声明和定义
-
谷歌规范函数的{不应该另起一行
-
尽量在一行,如果一行装不下可以使用多行参数,但是要对齐
-
声明可以省略上下文显而易见的参数名字,不明确的禁止省略
4.lambda
- []和()应该在一起,空一格接{}
5.条件语句和循环语句
-
()左右都应该有空格
-
{不应该单独占一行
6.类
- 谷歌规范类的{不应该另起一行,初始化列表空4格
7.指针和引用
- 指针和引用的格式要一致,要么同时左边,要么同时右边
8.c++代码格式化工具
-
clang-format是一个优秀的代码格式化工具
-
可以在相关代码风格的基础上添加自定义,一个项目应该有自己的.clang-format,比如chromium
二.命名
1.一般规则
- 不要使用缩略词,清晰明了的语义对可读性非常重要
2.文件命名规则
- 文件命名应该全部小写,并用下划线连接
- c++头文件以.h结尾,源文件以.cc结尾
3.类型
- 类型应该首字母大写,驼峰式写法
4.变量名
-
变量名应该全小写,使用下划线连接
-
成员变量最后附加一个下划线
5.函数名
- 谷歌代码规范认为函数名以大写开头,驼峰式写法,getter函数可以小写,setter函数以set开头加下划线
6.常量名
-
以k字母开头,驼峰式写法
-
谷歌代码规范中认为全局变量和静态变量也应该以k开头,我觉得不妥,全局变量应该以g开头,使用下划线连接,线程局部变量应该以t开头,使用下划线连接
7.命名空间
- 全小写,下划线连接
8.枚举成员
- 枚举成员应该以k字母开头,驼峰式写法
9.宏
-
避免使用宏,除非不得不用
-
宏命名使用全大写字母,下划线连接
三.排列顺序
1.头文件排列顺序
- 谷歌规范中推荐按照以下顺序包含头文件,不同类别的头文件之间应该有空行
- 相关头文件
- C系统头文件
- C++标准库头文件
- 其他库的头文件
- 您的项目的头文件
2.类内成员排列顺序
-
定义通常应以
public
开头,然后是protected
,然后是private
-
类中的声明应该按照以下顺序
-
类型和类型别名(
typedef
、using
、enum
、嵌套结构和类以及friend
类型) -
静态常量
-
工厂函数
-
构造函数和赋值运算符
-
析构函数
-
所有其他函数(
static
以及非static
成员函数和friend
函数) -
数据成员(静态和非静态)
-