c++编码规范
查阅通用 C++ 编码规范(Google 编码规范等)后,结合本学期数据结构与算法的 C++ 编程作业,我在编码时遵循的主要规范如下:
一、排版缩进规范
采用 4 个空格作为一级缩进,不使用 Tab,保证不同编辑器打开时代码格式不变。大括号单独占一行,左右大括号对齐;二元运算符两侧添加空格,一行只写一条语句,不同逻辑块之间空行分隔。
示例:
int max_sub_sum (int a [], int l, int r) { int mid = (l + r) / 2; }
二、命名规范
变量、函数采用小写蛇形命名,做到见名知意;循环临时变量可以使用i,j,k。常量采用全大写加下划线命名,使用常量代替代码中的魔法数字,提升代码可移植性。
示例:
const int MAXN = 10005; int cross_max;
三、注释规范
在自定义函数头部添加注释,简要说明函数功能与参数含义;针对复杂算法逻辑、特殊边界条件添加注释,解释代码设计思路,而不是简单复述代码,注释简洁,避免冗余。
示例:
int max_sub_sum (int a [], int l, int r) { }
四、模块化结构规范
遵循 “一个函数只做一件事”。main函数只负责输入输出和调用算法函数,核心算法逻辑封装在自定义函数中,避免单个函数代码过长。例如归并排序拆分为递归划分函数与合并函数。
五、控制语句规范
if、for、while语句,即使内部只有一行代码,也必须加上大括号,防止后续修改代码时出现逻辑错误。
示例:
if (l == r) { return a [l] > 0 ? a [l] : 0; }
六、变量与数据类型规范
累加、计数、求最值的变量,定义时必须初始化,防止随机垃圾值。根据数据范围合理选择数据类型,统计计数类变量使用long long,避免整数溢出。
示例:
long long total = 0;
七、边界与健壮性规范
递归函数优先写终止条件,防止无限递归;严格处理数组区间边界,避免数组越界。代码要能够处理极端测试用例,如单元素数组、全负数数组,编译无报错、无警告。
八、总结
本学期编码规范核心目标是保证代码风格统一、可读性强、方便调试与互评。核心原则为排版规整、命名表意、注释精简、模块化设计、边界严谨,符合数据结构课程算法代码的编写要求。
浙公网安备 33010602011771号