文档详情

嵌入式系统电子课件-4.5 C语言编程规范.pptx

发布:2025-03-22约1.69万字共88页下载文档
文本预览下载声明

C语言编程规范

引言为了提高源程序的质量和可维护性,最终提高公司软件产品生产力,我们有必要对公司软件产品的源程序的编写风格作出统一的规范约束。本文档的读者是系统分析设计人员和C\C++程序代码编制人员、测试人员。

术语术语描述:规则:编程时强制必须遵守的原则。建议:编程时必须加以考虑的原则。说明:对此规则或建议进行必要的解释。示例:对此规则或建议从正、反两个方面给出例子。

1-1:程序块要采用缩进风格编写,缩进的空格数为4个。说明:对于由开发工具自动生成的代码可以有不一致。0101排版

1-2:相对独立的程序块之间、变量说明之后必须加空行。0101排版(续)示例:如下例子不符合规范。if(!valid_ni(ni)){...//programcode}repssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;应如下书写:if(!valid_ni(ni)){...//programcode}repssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;

1-3:较长的语句(80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。0101排版(续)

0101排版(续)示例: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;report_or_not_flag=((tasknoMAX_ACT_TASK_NUMBER)(n7stat_stat_item_valid(stat_item))(act_task_table[taskno].result_data!=0));

1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。0101排版(续)

0101排版(续)示例:if((tasknomax_act_task_number)(n7stat_stat_item_valid(stat_item))){...//programcode}for(i=0,j=0;(iBufferKeyword[word_index].word_length)(jNewKeyword.word_length);i++,j++){...//programcode}for(i=0,j=0;(ifirst_word_length)(jsecond_word_length);i++,j++){...//programcode}

1-5:若函数或过程中的参数较长,则要进行适当的划分。0101排版(续)示例:n7stat_str_compare((BYTE*)stat_object, (BYTE*)(act_task_table[taskno].stat_object), sizeof(_STAT_OBJECT));

1-6:不允许把多个短语句写在一行中,即一行只写一条语句。0101排版(续)示例:如下例子不符合规范。rect.length=0;rect.width=0;应如下书写:rect.length=0;rect.width=0;

1-7:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。0101排版(续)示例:如下例子不符合规范。if(pUserCR==NULL)return;应如下书写:if(pUserCR==NULL){return;}

1-8:对齐只使用空格键,不使用TAB键。说明:以免用不同的编辑器阅读程序时,因TAB键所设置的空

显示全部
相似文档