c++编程规范

  1. 命名规范 (Naming Conventions)

变量与函数:采用有明确意义的英文单词(或简写)。局部变量采用小驼峰命名法(如 maxLength)或小写加下划线(如 max_length),算法中常用的循环变量可使用 i, j, k,但关键变量必须可读(如 left, right, mid, target)。

常量:采用全大写加下划线(如 MAX_N, MOD),在算法中常用于定义数组最大长度或取模值。

类与结构体:采用大驼峰命名法(如 ListNode, TreeNode)。

  1. 代码排版与格式 (Formatting)

缩进:统一使用 4 个空格作为一个缩进层级(不使用 Tab 键,防止不同编辑器显示错乱)。

大括号:采用 K&R 风格(左大括号紧跟语句末尾,不另起一行),使代码更加紧凑。

行宽限制:每行代码尽量不超过 80-100 个字符,过长的表达式进行合理换行。

空行:在不同逻辑块(如变量声明、循环、条件判断、返回结果)之间加入空行,提高代码可读性。

  1. 注释规范 (Commenting)

函数注释:在每个核心算法函数前使用块注释,说明该函数的功能、输入参数含义、返回值类型以及算法的时间/空间复杂度(这一点在算法课上尤为重要)。

行内注释:在复杂的逻辑判断、边界条件处理或核心算法步骤旁添加单行注释(//),解释“为什么这么写”,而不是解释“这行代码是什么”。

文件头注释:在代码文件头部标注作者、日期、作业名称及题目简述。

  1. 算法与数据结构特定规范 (Algorithm Specifics)

边界处理:编写数组、链表相关算法时,优先处理越界、空指针、单节点等边界情况。

全局变量:由于算法题(如竞赛或OJ)通常需要快速实现,允许使用全局数组,但必须使用 const 修饰长度,并明确初始化(如清零)。

避免魔法数字:代码中避免直接出现 100005 这样的数字,应定义为常量,如 const int MAXN = 100005;。

内存管理:若使用 C/C++,严格遵循 new 和 delete、malloc 和 free 的配对使用,防止内存泄漏;在链表题中注意指针的释放。

  1. 其他规范 (Others)

变量初始化:所有变量在声明时尽量进行初始化,尤其是数组和指针,防止出现未定义行为(Undefined Behavior)。

代码复审:提交作业前,会使用编译器的最高警告级别(如 -Wall)检查代码,消除所有警告。

posted @ 2026-10-10 17:18  李宇鑫  阅读(6)  评论(0)    收藏  举报