开发管理之代码编码规范 联系客服

发布时间 : 星期六 文章开发管理之代码编码规范更新完毕开始阅读

1. 程序版式

1.1. 对齐

1.1.1. 程序块要采用缩进风格编写,缩进的空格数为4个。使用VC提供的Tab

键对齐。

1.1.2. “{”和“}”应独占一行并且位于同一列,同时引用他们的语句对齐

1.1.3. {}之内的代码块在“{”右边数格外左对齐

例:

正确

void Function(int x) { ? // program code } if (condition) { ? // program code } else { ? // program code } for (initialization; condition; update) { ? // program code } While (condition) { ? // program code } 如果出现嵌套的{},则使用缩进对齐,如: { ? } { ? } } while (condition){ ? // program code } for (initialization; condition; update){ ? // program code } } else { ? // program code if (condition){ ? // program code

错误

void Function(int x){ ? // program code } ? 1.2. 空行

1.2.1. 每个声明之后,每个函数定义之后要加空行

1.2.2. 在一个函数体内,逻辑上密切相关的语句之间不加空行,其它地方应加空

行分隔

1.2.3. 变量声明和代码之间加空行

1.2.4. 函数返回语句用空行

例:

void Function1(?) // 空行 void Function2(?) void Function1(?) { ? } // 空行 void Function2(?) { ? }

// 空行 while (condition) { statement1; // 空行 if (condition) { statement2; } else { statement3; } // 空行 Return statement4 } 1.3. 代码行

1.3.1. 一行代码只做一件事情,如只定义一个变量,或只写一条语句。

1.3.2. if、for、do、while、case、switch、default等语句自占一行,且if、for、

do、while等语句的执行语句部分无论多少都要加括号{}

例:

示例:风格良好的代码行

int width; int depth; x = a + b; y = c + d; z = e + f; if (width < height) { dosomething(); } for (initialization; condition; update) { dosomething(); } // 空行 other(); for (initialization; condition; update) dosomething(); other(); if (width < height) dosomething(); // 宽度 // 深度

int width, height, depth; // 宽度高度深度 X = a + b; y = c + d; z = e + f;

示例:风格不良的代码行

int height; // 高度 1.4. 空格

1.4.1.

1.4.2.

1.4.3.

1.4.4.

1.4.5.

1.4.6.

1.4.7.

关键字之后要留空格:const, virtual, inline, if, while, for 函数名之后不要留空格

“(”向后紧跟“,”,“、”,“.”,“;”,“)”向前紧跟

“,”后要留空格,“”;之后如果不是一行的结束,后面要留空格 赋值操作符,比较,算术,逻辑,第二元操作符前后加空格 一元操作符!、~、++、--、—等前后不加空格 像[]、“.”、—>等前后不加空格

例:

void Func1(int x, int y, int z); // 良好的风格 void Func1 (int x,int y,int z); // 不良的风格 if (year >= 2000) // 良好的风格 if(year>=2000) // 不良的风格 if ((a>=b) && (c<=d)) // 良好的风格 if(a>=b&&c<=d) // 不良的风格 for (i=0; i<10; i++) // 良好的风格 for(i=0;i<10;i++) // 不良的风格 for (i = 0; I < 10; i ++) // 过多的空格 x = a < b ? a : b; // 良好的风格 x=aFunction(); // 不要写成 b -> Function(); 1.5. 长行拆分

1.5.1. 代码行最长度宜控制在70到80个字符以内,代码行不宜过长

1.5.2. 长表达式拆分,应将操作符放在新行之首,拆分出新行要适当缩进,使排

版整齐

例:

if ((very_longer_variable1 >= very_longer_variable12) && (very_longer_variable3 <= very_longer_variable14) && (very_longer_variable5 <= very_longer_variable16)) { dosomething(); } virtual CMatrix CMultiplyMatrix (CMatrix leftMatrix, CMatrix rightMatrix); for (very_longer_initialization; very_longer_condition; very_longer_update) { dosomething(); }