it网络设备公司编程代码文档规范(华为)(编辑修改稿)内容摘要:

第 4 页 共 69 页 系统接口 ......................................................................................................................... 59 编程时,要防止差 1 错误 ................................................................................................ 61 操作符检查 ..................................................................................................................... 61 分支语句写完整 .............................................................................................................. 62 使用 return 语句 ............................................................................................................... 62 不要滥 用 goto 语句 .......................................................................................................... 62 其他 ................................................................................................................................ 62 11 代码编辑、编译、审查 ........................................................................................................... 65 打开编译器的所有告警开关对程序进行编译 .................................................................... 65 在产品软件(项目组)中,要统一编译开关选项 ............................................................. 65 通过代 码走读及审查方式对代码进行检查。 .................................................................... 65 测试部测试产品之前,应对代码进行抽查及评审 ............................................................. 65 其他 ................................................................................................................................ 65 12 代码测试、维护 ..................................................................................................................... 67 单元测试要求至少达到语句覆盖 ...................................................................................... 67 单元测 试开始要跟踪每一条语句,并观察数据流及变量的变化 ........................................ 67 清理、整理或优化后的代码要经过审查及测试。 ............................................................. 67 代码版本升级要经过严格测试 ......................................................................................... 67 使用工具软件对代码版本进行维护 .................................................................................. 67 正式版本上软件的任何修改都应有详细的文档记录 .......................................................... 67 其他 ................................................................................................................................ 67 13 宏 .......................................................................................................................................... 68 用宏定义表达式时,要使用完备的括号 ........................................................................... 68 将宏所定义的多条表达式放在大括号中 ........................................................................... 68 使用宏时,不允许参数发生变化 ...................................................................................... 69 第 5 页 共 69 页 1 概述 编写目的 为规范软件开发人员的代码编写提供参考依据和统一标准。 文档约定 说明本文档中所用到的专用术语定义或解释,缩略词定义。 预期的读者和阅读建议 本文档适用于所有软件开发人员。 参考文献 列出有关的参考文件,如: a.属于本项目的其他已发表文件; b.本文件中各处引用的 文档 资料。 列出这些文件的标题、 作者 ,说明能够得到这些文件资料的来源。 2 排版要求 程序块缩进 程序块要采用缩进风格编写,缩进的空格数 为 4 个。 说明:对于由开发工具自动生成的代码可以有不一致。 程序块之间空行 相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... // program code 第 6 页 共 69 页 } 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。 长语句和长表达式 较长的语句( 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 = SYS_get_sccp_statistic_state( stat_item )。 report_or_not_flag = ((taskno MAX_ACT_TASK_NUMBER) amp。 amp。 (n7stat_stat_item_valid (stat_item)) amp。 amp。 (act_task_table[taskno].result_data != 0))。 第 7 页 共 69 页 循环、判断等长表达式或语句 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。 示例: if ((taskno max_act_task_number) amp。 amp。 (n7stat_stat_item_valid (stat_item))) { ... // program code } for (i = 0, j = 0。 (i BufferKeyword[word_index].word_length) amp。 amp。 (j )。 i++, j++) { ... // program code } for (i = 0, j = 0。 (i first_word_length) amp。 amp。 (j second_word_length)。 i++, j++) { ... // program code } 长参数 若函数或过程中的参数较长,则要进行适当的划分。 示例: n7stat_str_pare((BYTE *) amp。 stat_object, (BYTE *) amp。 (act_task_table[taskno].stat_object), sizeof (_STAT_OBJECT))。 第 8 页 共 69 页 n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER + index, stat_object )。 短语句 不允许把多个短语句写在一行中,即一行只写一条语句。 示例:如下例子不符合规范。 = 0。 = 0。 应如下书写 = 0。 = 0。 条件、循环语句 if、 for、 do、 while、 case、 switch、 default等语句自占一行,且 if、 for、 do、 while等语句的执行语句部分无论多少都要加括号 {}。 示例:如下例子不符合规范。 if (pUserCR == NULL) return。 应如 下书写: if (pUserCR == NULL) { return。 } 语句对齐 对齐只使用空格键,不使用 TAB键。 说明:以免用不同的编辑器阅读程序时,因 TAB键所设置的空格数目不同而造成程序。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。