本文最后更新于 2025-03-05T16:36:14+08:00
头文件
- 分四部分依次排列
- cpp 文件对应的头文件
- 自己的头文件
- 第三方库的头文件
- 标准库
- 第三方库用 <> 自己的头文件用 “”
- 按字典序排序
- 清理不必要的头文件
- C++ 便准库头文件不带扩展名,C 头文件带 .h,C++ 程序中尽量用 C++ 头文件
大括号
- 不要省略单行代码的大括号
- 命名空间大括号向左缩进
- 命名空间右大括号后跟注释
命名规范
- 成员函数首字母大写
- 成员变量 -
m_
- 指针 -
p_
- 静态变量 -
s_
- 常量 - 全大写
- 数组等容器中的元素数量 -
number
- 累计值 -
count
- 字节数 -
size
- 字符串长度 -
length
注释
//
前后加空格
- 多行注释每行开头加
*
- 首字母大写
- 除非是长篇的描述,否则不加句号
- does not instead of doesn’t
- 公式之类非英文的部分用 `` 括起来
// TODO: Do something
其他
- 使用
int16_t
而非 short
,使用 uint32_t
而非 unsigned int
- 前向声明
- final
- 成员可访问级别
- 三五法则
- 提供参数为右值的重载函数,传值就完事了,实现内再 move
- 将参数作为索引时用 const T&,当 sizeof(T) < 8 时不用 &
- 用 const 修饰 this 指针
- 用 string_view 代替 string
- 尽量用 assert 代替 if check log,C++ 最好的错误检查就是崩在一个合理的地方