C++编码规范–学习笔记
一、排版
(1)基本排版要求
- 代码长度不超过80个字符
- 使用4个空格替代tab
- 一行只写一句代码
- if/while/switch等之后的花括号要换行
- 添加空格和空行使代码更加清晰
- 换行后注意缩进
- 变量申明对齐
(2)添加空格与空行
- 要加空格的位置
–二元的数学和逻辑运算符号(双目运算符)两边都加上一个空格
–逗号、分号只在后面加空格
–if、while、for、switch等关键字与之后的左括号之间加空格 - 不加空格的位置
–函数名与之后的左括号质检,带参数的宏与之后的左括号之间不加空格
–单目操作前后不分空格,"->"、"."前后不加空格
–逗号、分号、冒号之间不加空格 - 要加空行的位置
–函数定义的前后
–一组联系紧密的代码段之间和之后
(3)换行缩进
- 代码缩进统一以四个空格为单位
- 函数内容、条件语句、循环语句的执行部分需要缩进
(4)一行一句代码
- 引起歧义,严重的可能引擎程序Bug
- 一行多句在IDE上跟踪时不方便调试
二、命名
(1)命名基础要求
- 简约,但不简单
–命名应简练,可以用缩写的就缩写(sum、min、ave)
–不要过度使用缩写,不适用不常见的缩写 - 顾名思义
–命名应可以直观地表达对象的含义作用
–函数名通常使用指令型的动词,变量通常使用描述型名词
–使用英文,不使用汉字拼音 - 一致性
–命名法应在同一个项目中始终保持统一
(2)命名法
- 匈牙利命名法(适用于简单类型变量名)
–开头字母用变量类型的缩写
–其余部分用变量的英文或英文缩写
–要求单词第一个字母大写
int iMyAge;
char cMyName[10];
float fManHeight;
- 驼峰式命名法(小驼峰命名法,适用于函数、变量、枚举类型等)
–第一个单词首字母小写
–后面其他单词首字母大写
int myAge;
char myName[10];
float manHegiht;
- 帕斯卡命名法(大驼峰命名法,适用于类和结构体)
–每个单词的第一个字母都大写
int MyAge;
char MyName[10];
float ManHeight;
- Unix命名法(下划线命名法,适用于文件命名、namespace,宏、常量、枚举值采用Unix命名法+全部大写)
–所有字母小写
–各单词之间用下划线分隔
int my_age_;
char my_name[10];
float man_height_;
三、注释
(1)文件注释
- 位于文件开头
- 文档化风格
- 内容:功能描述,作者信息,编码更新日期等
- VSCode可通过KoroFileHeader自动生成
(2)类注释
- 位于类声明的上方
- 内容:功能描述,作者信息,编写日期等信息
- VSCode可通过KoroFileHeader自动生成
(3)函数注释
- 位于函数声明的上方
- 内容:函数功能,参数,返回值、线程安全等信息
- 在函数实现处使用介于自然语言和程序语音之间的伪语言,添加具体算法描述
(4)其他注释
- 变量、常量注释
–含义简单可以选择行内注释
–含义复杂可以在声明的上方注释 - 作用域注释、条件编译注释
–在作用域或条件编译语句结束的位置添加