我的c++编码规范
一、命名规范
- 变量名:小驼峰
studentScore或者下划线命名student_score,见名知意,禁止单个无意义字母(除循环临时变量i,j) - 类名:大驼峰(帕斯卡命名)
StudentInfo,每个单词首字母大写 - 常量 / 宏:全大写,下划线分隔
MAX_SIZE - 函数名:小驼峰
getScore()或下划线get_score() - 禁止中文拼音命名,不使用缩写(除非通用缩写)
二、格式与缩进
- 缩进:4 个空格,不要用 Tab;
- 大括号:两种风格任选一种,整个代码统一:
// 风格1(推荐,Allman)
if (flag)
{
cout << "hello";
}
// 风格2(K&R)
if (flag) {
cout << "hello";
}
- 运算符两侧加空格:
int a = b + c; - 一行只写一条语句
三、头文件规范
- 头文件保护宏,防止重复包含:
#ifndef STUDENT_H
#define STUDENT_H
// 声明代码
#endif
include顺序:C++ 标准库 → C 库 → 自定义头文件
四、注释规范
- 函数、类写块注释,说明功能、参数、返回值;
- 代码行复杂逻辑加行注释;
- 不要写多余废话注释,注释说明为什么,不是代码做了什么
// 计算两数之和
int add(int a, int b)
{
return a + b;
}
五、类型、变量与内存规范
- 变量就近定义,不要全部写在函数最开头;
- 优先使用
const修饰不可修改变量,const int N = 100; - 使用
new分配的内存,必须配套delete释放,防止内存泄漏; - 尽量少用裸指针,优先用引用、智能指针
std::shared_ptr
六、函数规范
- 函数功能单一,一个函数只做一件事;
- 函数不宜过长,控制在几十行内;
- 参数优先传
const &(避免拷贝开销)
void printInfo(const Student &stu);
浙公网安备 33010602011771号