幻冰の博客

一条咸鱼的垂死挣扎

算法竞赛入门指南_0x02 C/C++ 编码规范

写在前面

规范的编码能增强代码的可读性,提升 debug 效率

更能让写代码的自己感觉是在写诗

一个糟糕的🌰

完全看不清这段代码在干什么,作用域尤其不清楚,如果看到上千行这样的代码会直接崩溃😭

那么格式化后,是这样的

代码含义一下子就明了了

编码原则

  • 增加代码可读性
  • 避免混淆
  • 保持代码风格一致

关于空行

  • 头文件、宏定义与主要实现部分使用空行分开,如

  • 同一个函数不同功能代码间使用空行分开

关于空格

注:若在比赛中时间紧张可不加

在 赋值运算符、逻辑运算符、位运算符、算术运算符 前后添加空格

例如 name = "Alice" 不能写成  name="Alice"

在引用操作符  .->[]前后不能添加空格

关于缩进

按照代码逻辑水平缩进,缩进时使用Tab而不是四个Space作为一单位

左大括号 { 使用 Java 风格,既放在上一行末,与上一行保持一个空格(注:时间紧张可不加空格)

平行逻辑代码列对齐,子逻辑与上层逻辑一个缩进,例如

关于控制语句

无论控制语句有几行都要用使用 {}括起来,例如

不能写成

一行只写一个语句

不能写成

命名

不要使用拼音

变量使用下划线分割,如 list_namelake_field

常量、宏定义使用全大写,如 const int MAX = 100; #define MAXN 100005

函数每个单词首字母大写,其余字母小写,如 string GetStudentNumber(...)int MaxOfTree(...)

不建议的操作

不要这样写

而是写成这样

不要这样写

而是写成这样

 

原创文章,转载请注明: 转载自鱼塘

本文链接地址: 算法竞赛入门指南_0x02 C/C++ 编码规范

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

2 × 4 =