华为C语言软件编程规范和范例〔一〕=====[排版]======= 〔二〕======[注释]======= 〔三〕=====[标识符命名]======= 〔四〕=====[可读性]====== 〔五〕=====[变量、结构]===== 〔六〕=====[函数、过程]===== 〔七〕=====[可测性]===== 〔八〕=====[程序效率]===== 〔九〕=====[质量保证]===== 〔十〕=====[代码编辑、编译、审查]===== 〔十一〕=====[代码测试、维护]===== 〔十二〕=====[宏]===== 〔一〕=====[排版]¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个说明:对于由开发工具自动生成的代码可以有不一致。¹1-2:相对独立的程序块之间、变量说明之后必须加空行¹1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读示例:=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=p_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));¹1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例:if((taskno<max_act_task_number)&&(n7stat_stat_item_valid(stat_item))){...//programcode}for(i=0,j=0;(i<BufferKeyword[word_index].word_length)&&(j<);i++,j++){...//programcode}for(i=0,j=0;(i<first_word_length)&&(j<second_word_length);i++,j++){...//programcode}¹1-5:若函数或过程中的参数较长,则要进行适当的划分示例:pare((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);¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。=0;=0;=0;=0;¹1-7:if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}示例:如下例子不符合规范。if(pUserCR==NULL)return;应如下书写:if(pUserCR==NULL){return;}¹1-8:对齐只使用空格键,不使用TAB键说明:以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。¹1-9:函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求¹1-10:程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式示例:如下例子不符合规范。for(...){...//programcode}if(...){...//programcode}voidexample_fun(void){...//programcode}应如下书写。for(...
华为C语言软件编程规范和范例 来自淘豆网m.daumloan.com转载请标明出处.