C/C++ 程序员编程规范之排版

简介: C/C++ 程序员编程规范之排版

编程规范(排版)

排版


程序块要采用缩进风格编写,缩进的空格数为4个。

       说明:对于由开发工具自动生成的代码可以有不一致。

相对独立的程序块或者变量说明之间需要适当加空行来分割。

较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首.

       说明:划分出的新行要进行适当的缩进,使排版整齐,语句可读。

同理,循环、判断等语句中若有较长的表达式或语句,也要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

函数或过程中的参数较长,则要进行适当的划分。

如非必要,不要把多个短语句写在一行中,即一行只写一条语句,会使阅读更清晰。

函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求.

if、for、do、while等语句的执行语句部分无论多少都要加括号{},是否分行,根据条件判断.

程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐

       说明:括号内内语句同样需要进行缩进.

在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;

进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。

       说明:采用这种松散方式编写代码的目的是使代码更加清晰。

//逗号、分号只在后面加空格
int a, b, c; 
 
//比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格
if (current_time >= MAX_TIME_VALUE) 
a = b + c;
a *= 2;
a = b ^ 2;
 
//"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格
*p = 'a';        // 内容操作"*"与内容之间
flag = !isEmpty; // 非操作"!"与内容之间
p = &mem;        // 地址操作"&" 与内容之间
i++;             // "++","--"与内容之间
 
//"->"、"."前后不加空格
p->id = pid;     // "->"指针前后不加空格
 
//if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显
if (a >= b && c > d)

文件结构

1. **引用顺序**:库引用和项目内部引用应该分开,并按一定顺序排列。

 

```cpp
    #include <iostream>
    #include <vector>
    
    #include "my_header.h"
    ```

2. **分区注释**:用注释标出代码的不同功能区。

 

```cpp
    // ====================
    // Variable Declarations
    // ====================
    ```

其他

1. **避免“魔法数字”**:不要在代码中直接使用像`3.14159`这样的数字,应使用常量或宏替换。

```cpp
    const double PI = 3.14159;
    ```

 

2. **避免全局变量**:除非有充分的理由,否则尽量避免使用全局变量。

3. **函数长度**:尽量保持函数长度不超过一屏幕,这样更容易阅读和理解。

4. **空格与Tab混用**:不要在同一个文件中混用空格和Tab进行缩进。

5. **常量和宏**:尽量使用常量或枚举代替宏定义

 

6. **可配置性**:避免硬编码,尽量使代码可以通过配置文件或环境变量等进行配置。

编程规范不仅仅是为了使代码看起来整洁,更重要的是为了提高代码的可读性、可维护性以及团队间的协作效率。因此,遵守一定的编程规范是非常必要的。

目录
相关文章
|
1月前
|
自然语言处理 算法 Java
C/C++ 程序员编程规范之注释
C/C++ 程序员编程规范之注释
43 1
|
5月前
|
算法 程序员 API
C 语言和 C++ 有什么区别?老程序员居然这样理解,不怕你不懂
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)
53 0
|
6月前
|
算法 Cloud Native 程序员
C++ 程序员入门之路——旅程的起点与挑战
C++ 程序员入门之路——旅程的起点与挑战
45 0
C++ 程序员入门之路——旅程的起点与挑战
|
6月前
|
Java 程序员 Android开发
C++ 程序员,安卓开发注意事项
C++ 程序员,安卓开发注意事项
|
8月前
|
编译器 C++
【C++】实用编程规范与建议
C++ 相关,比较实用的 防止疏漏出错的编码规范与编码建议
111 0
|
9月前
|
存储 设计模式 算法
03-📝C++核心语法|面向对象1【 C++编程规范、类和对象、面向对象程序设计案例、对象的构造和析构、C++面向对象模型初探】
复习`C++核心语法`,且适当进行汇编探索底层实现原理,进一步夯实基础,为以后的`底层开发`、`音视频开发`、`跨平台开发`、`算法`等方向的进一步学习埋下伏笔。
03-📝C++核心语法|面向对象1【 C++编程规范、类和对象、面向对象程序设计案例、对象的构造和析构、C++面向对象模型初探】
|
10月前
|
Devops 程序员 开发工具
C++——程序员的逼格神器-github
C++——程序员的逼格神器-github
|
10月前
|
程序员 API C语言
【c/c++】属于程序员的浪漫,基于easyx.h图形库实现3D Heart
【c/c++】属于程序员的浪漫,基于easyx.h图形库实现3D Heart
207 0
|
11月前
|
程序员 C++
【C++】程序员的屠龙母鸡:二叉树进阶OJ题详解(下)
【C++】程序员的屠龙母鸡:二叉树进阶OJ题详解(下)
60 0
|
5天前
|
存储 编译器 C语言
c++的学习之路:5、类和对象(1)
c++的学习之路:5、类和对象(1)
21 0

相关实验场景

更多