第一次作业
C++ 编码规范
一、版式规范
1.1 缩进规则
程序块(如循环体、条件体、函数体等)采用 4 个空格缩进,禁止使用制表符(TAB),确保在不同编辑器与环境下显示格式一致。
1.2 空行规则
- 相对独立的程序块之间需加空行(如连续的条件判断块、循环块之间)。
- 变量 / 常量声明语句结束后,若紧跟执行语句,需加空行分隔。
- 函数定义之间必须用空行分隔,增强代码块的视觉区分度。
1.3 单行语句规则
- 一行仅允许书写一条语句(如赋值、判断、函数调用等)。
- 控制语句(if、for、do、while、switch 等)需单独占一行,其执行语句块无论代码量多少,必须用大括号
{}
包裹。
1.4 空格规则
- 关键字(if、for、return 等)后需加空格,再跟括号或语句。示例:
if (condition)
(if
与(
之间有空格)。 - 函数名后直接跟左括号
(
,无空格(用于区分关键字与函数调用)。示例:int add(int a, int b)
(add
与(
之间无空格)。 - 二元操作符(
+
、-
、*
、/
、=
、==
、&&
等)前后需加空格。示例:a = b + c;
、if (x == 0)
。 - 一元操作符(
++
、--
、!
、&
等)前后无空格。示例:i++;
、if (!flag)
。 - 逗号
,
后需加空格(分隔参数或数组 / 容器元素时)。示例:func(a, b, c)
、int arr[] = {1, 2, 3};
。
1.5 分界符规则
- 程序块的分界符
{
和}
需各独占一行,且处于同一列,与引用它们的语句左对齐。
二、注释规范
2.1 源文件头部注释
每个源文件(.cpp
、.h
)头部必须包含注释,说明文件基本信息,格式如下:
/******************************************************************************
* 文件名:example.cpp
* 生成日期:2024-01-01
* 作 者:张三
* 功 能:实现XX模块的核心逻辑,包括XX功能和XX处理
* 版 本:v1.0
******************************************************************************/
2.2 函数头部注释
函数定义前必须添加注释,说明函数的核心信息,格式如下:
/******************************************************************************
* 功 能:计算两个整数的和
* 输入参数:
* a - 第一个整数(范围:0~1000)
* b - 第二个整数(范围:0~1000)
* 输出参数:无
* 返回值:int - 两个整数的和(返回值范围:0~2000)
* 备 注:若输入超出范围,返回-1
******************************************************************************/
int add(int a, int b) {
// 函数实现
}
2.3 代码内注释
- 注释需与描述的代码相邻,优先放在代码上方;简短注释可放在代码右侧(与代码间隔至少 2 个空格)。
- 变量、常量、宏的注释需放在其声明的上方或右侧,说明其含义、用途或取值范围。
三、标识符命名规范
3.1 通用规则
- 命名需使用英文单词,清晰表达含义,避免模糊词汇(如
temp
、data
等);禁止使用拼音或拼音缩写。示例:userName
(正确)、yonghuming
(错误)。 - 避免使用容易混淆的字符(如字母
l
与数字1
、字母O
与数字0
)。 - 命名长度适中(通常 3~20 个字符),过长时优先保留核心表意词汇。
3.2 常量、宏、模板名
采用全大写字母,单词之间用下划线_
分隔。
示例:MAX_SIZE
、PI_VALUE
、TEMPLATE_ARRAY
。
3.3 函数名
- 以大写字母开头,采用 “谓 - 宾” 或 “动作 + 对象” 结构,单词首字母大写(PascalCase 风格)。示例:
GetUserName
(获取用户名)、CalculateTotal
(计算总和)、CheckPermission
(检查权限)。
3.4 变量名
- 以小写字母开头,后续单词首字母大写(camelCase 风格),清晰表达变量的含义或用途。示例:
studentAge
、isValid
、totalScore
。 - 全局变量可加前缀
g_
(如g_globalConfig
),以区分局部变量。
3.5 类 / 结构体 / 枚举名
- 以大写字母开头,采用 PascalCase 风格,表达实体的类型或业务含义。示例:
User
、OrderInfo
、ErrorCode
。 - 枚举成员命名规则同 “常量”(全大写 + 下划线分隔)。
四、补充说明
- 编码规范需团队统一遵守,确保项目内代码风格一致,降低协作与维护成本。
- 特殊场景(如兼容历史代码、第三方库适配)可适当调整规范,但需在代码注释中说明原因。
- 建议定期开展代码评审,检查规范执行情况并持续优化团队编码习惯。