软件编程规范(2)

2019-09-01 12:20

软件编程规范

第一章 程序的版式

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

说明:由开发工具自动生成的代码可以不一致,但如果开发工具可以配置,则应该统一配

置缩进为4 个空格。

规则1-2:缩进或者对齐只使用空格键, 不能使用TAB 键

原因 :避免使用不同的编辑器阅读程序时, 因TAB 键所设置的空格数目不同而造成程序布局不整齐

规则1-3:相对独立的程序块之间、变量说明之后必须加空行。

说明 :以下情况应该是用空行分开:

1. 函数之间应该用空行分开

2. 一组局部变量声明和代码之间用空行分开 3. 用空行将代码按照逻辑片断划分

4. 除非函数非常简单( 如只有一两条语句),否则函数返回语句和其他语句用空行分开

5. 每个类声明之后应该加入空格同其他代码分开

示例:如下例子不符合规范。

if (!valid_ni(ni)) {

... // program code }

repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;

6

软件编程规范

应如下书写:

if (!valid_ni(ni)) {

... // program code }

repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;

规则1-4:较长的语句(>80字符)要分成多行书写 说明:以下情况应分多行书写

1. 长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

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

3. 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在

低优先级操作符处划分新行,操作符放在新行之首 示例:

perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN

+ STAT_SIZE_PER_FRAM * sizeof( _UL );

act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied = stat_poi[index].occupied;

act_task_table[taskno].duration_true_or_false

= SYS_get_sccp_statistic_state( stat_item );

report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER) && (n7stat_stat_item_valid (stat_item))

&& (act_task_table[taskno].result_data != 0));

n7stat_str_compare((BYTE *) & stat_object,

(BYTE *) & (act_task_table[taskno].stat_object), sizeof (_STAT_OBJECT));

n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER + index, stat_object );

7

软件编程规范

if ((taskno < max_act_task_number)

&& (n7stat_stat_item_valid (stat_item))) {

... // program code }

for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length) && (j < NewKeyword.word_length); i++, j++) {

... // program code }

for (i = 0, j = 0;

(i < first_word_length) && (j < second_word_length); ` i++, j++) {

... // program code }

规则1-5:不允许把多个短语句写在一行中,即一行只写一条语句。

说明:一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释

示例:如下例子不符合规范

rect.length = 0; rect.width = 0; 应如下书写

rect.length = 0; rect.width = 0;

规则1-6:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。

8

软件编程规范

示例:如下例子不符合规范。

if (pUserCR == NULL) return; 应如下书写:

if (pUserCR == NULL) {

return; }

建议1-1:对齐只使用空格键,不使用TAB键。

说明:编辑器对TAB键所设置的空格数目不同,因此会造成程序布局不整齐。

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

建议1-3:程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

示例:如下例子不符合规范。

for (...) {

... // program code }

if (...) {

... // program code }

void example_fun( void ) {

... // program code } 应如下书写。

for (...)

9

软件编程规范

{

... // program code }

if (...) {

... // program code }

void example_fun( void ) {

... // program code }

规则1-7:代码行之内应该留有适当的空格

说明:采用这种松散方式编写代码的目的是使代码更加清晰。代码行内应该适当的使用空格, 具体地说来:

1. 关键字之后要留空格。象const、virtual、inline、case 等关键字之后至少要留一个空格, 否则无法辨析关键字。象if、for、while 等关键字之后应留一个空格再跟左括号‘( ’, 以突出关键字。

2. 函数名之后不要留空格, 紧跟左括号’(’ , 以与关键字区别。

3. ‘( ’ 向后紧跟,‘ )’、‘ ,’、‘ ;’ 向前紧跟, 紧跟处不留空格。 4. ‘ ,’ 之后要留空格, 如Function(x, y, z)。如果‘ ;’ 不是一行的结束符号, 其后也要留空格, 如for (initialization; condition; update)。

5. 值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“ =”、“ +=” “ >=”、“ <=”、“ +”、“ *”、“ %”、“ &&”、“ ||”、“ <<” ,“ ^” 等二元操作符的前后应当加空格。

6. 一元操作符如“ !”、“ ~”、“ ++”、“ --”、“ &”( 地址运算符) 等 前后不加空格。

7. 象“[ ]”、“ .”、“ ->” 这类操作符前后不加空格。

示例:应该如下书写

10


软件编程规范(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程热力学课后作业答案(第七章)第五版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: