### 华为C语言规范详解 #### 一、排版规范 华为的C语言编程规范在排版方面有着明确的规定,这些规定旨在提高代码的可读性和一致性。 **1.1 缩进** - **规范内容**:程序块应当采用缩进风格编写,每一级缩进使用4个空格。 - **适用范围**:此规则适用于所有程序员编写的代码,但对于由开发工具自动生成的代码可以有例外。 - **示例**: ```c if (!valid_ni(ni)) { // program code } ``` **1.2 程序块之间的空行** - **规范内容**:相对独立的程序块之间以及变量声明之后应该添加空行。 - **示例**: ```c if (!valid_ni(ni)) { // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; ``` **1.3 行长限制与分割** - **规范内容**:如果单行代码长度超过80字符,应将其分为多行,并确保分割位置位于低优先级的操作符处,同时保持良好的缩进格式。 - **示例**: ```c perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN + STAT_SIZE_PER_FRAME * 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 循环与判断语句的表达式分割** - **规范内容**:在循环和条件判断语句中,如果表达式过长,也应按上述方式分割。 - **示例**: ```c 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 } ``` **1.5 函数调用参数的分割** - **规范内容**:如果函数调用中的参数列表过长,应适当分割。 - **示例**: ```c 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); ``` **1.6 单行多语句的禁止** - **规范内容**:不允许在一个语句行中放置多条语句。 - **示例**: ```c rect.length = 0; rect.width = 0; ``` **1.7 控制语句的格式** - **规范内容**:`if`、`for`、`do`、`while`、`case`、`switch`、`default`等语句必须独占一行,并且其后的执行语句无论多少都必须使用大括号`{}`包裹。 - **示例**: ```c if (pUserCR == NULL) { return; } ``` **1.8 对齐方式** - **规范内容**:仅使用空格进行对齐,不使用`TAB`键。 - **注意事项**:避免使用不同的编辑器导致缩进不一致的情况发生。特别指出不要使用BC编辑器合并版本,因为它会自动将8个空格替换为一个`TAB`键,可能导致缩进混乱。 **1.9 循环、判断等控制语句的开始** - **规范内容**:`for`、`while`等循环语句和`if`、`else`等条件判断语句的开始和结束都应该使用大括号`{}`包裹。 - **示例**: ```c for (i = 0; i < count; i++) { // do something } ``` 以上是华为C语言编程规范中的排版部分,通过遵循这些规范,可以大大提高代码的质量和可维护性。接下来的章节将会详细介绍其他方面的规范要求,如注释、标识符命名、可读性等。
剩余58页未读,继续阅读
- 粉丝: 16
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 培训效果评估调查问卷(修改版).docx
- 中国地级市CO2排放数据(2000-2023年).zip
- 基于MicroPython在ESP32上用TFT-LCD-ST7735显示图像
- 北大纵横—江西泓泰—1201人力资源管理概论培训.ppt
- 北大纵横—江西泓泰—泓泰培训制度-FINAL.doc
- 北大纵横—江西泓泰—江西泓泰工作分析培训报告-final.ppt
- 北大纵横—江西泓泰—人力资源规划制度培训.ppt
- 北大纵横—江西泓泰—瑞兴管理思想培训.ppt
- 北大纵横—江西泓泰—瑞兴人力资源管理培训-招聘和发展.ppt
- 北大纵横—江西泓泰—瑞兴人力资源管理培训-培训.ppt
- 北大纵横—金瀚—冬映红培训制度-0621.doc
- 北大纵横—金瀚—福科多培训制度-0621.doc
- 北大纵横—金瀚—金瀚集团全面预算管理培训报告.ppt
- 北大纵横—金瀚—培训制度-0618.doc
- 北大纵横—金瀚—全面预算管理培训-word.doc
- 2022-2023年度广东省职校信息安全管理与评估竞赛试题解析