编程规范(排版)
排版
程序块要采用缩进风格编写,缩进的空格数为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. **可配置性**:避免硬编码,尽量使代码可以通过配置文件或环境变量等进行配置。
编程规范不仅仅是为了使代码看起来整洁,更重要的是为了提高代码的可读性、可维护性以及团队间的协作效率。因此,遵守一定的编程规范是非常必要的。