华为CC++语言编程规范.doc

目录 TOC \o 1-3 \h \z \u1 排版 PAGEREF _Toc315000788 \h 2 2 注释 PAGEREF _Toc315000789 \h 8 规则2-7:避免在注释中使用缩写,特别是非常用缩写。 PAGEREF _Toc315000790 \h 10 3 标识符命名 PAGEREF _Toc315000791 \h 17 4 可读性 PAGEREF _Toc315000792 \h 20 5 变量、结构 PAGEREF _Toc315000793 \h 23 6 函数、过程 PAGEREF _Toc315000794 \h 32 建议6-14:避免使用无意义或含义不清的动词为函数命名。 PAGEREF _Toc315000795 \h 38 建议6-15:函数的返回值要清楚、明了,让使用者不容易忽视错误情况。 PAGEREF _Toc315000796 \h 38 7 可测性 PAGEREF _Toc315000797 \h 43 8 程序效率 PAGEREF _Toc315000798 \h 49 9 质量保证 PAGEREF _Toc315000799 \h 55 10 代码编辑、编译、审查 PAGEREF _Toc315000800 \h 64 11 代码测试、维护 PAGEREF _Toc315000801 \h 66 12 宏 PAGEREF _Toc315000802 \h 68 软件编程规范总则 1 排版 仅供内部使用 PAGE7 1 排版 1-1:程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 1-2:相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; 应如下书写 if (!valid_ni(ni)) { ... // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; 1-3:较长的语句(80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 示例: 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)); 1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。 示例: 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_l

文档评论(0)

1亿VIP精品文档

相关文档