### 华为编程规范与范例经典 #### 一、排版规范 1. **程序块缩进**:根据华为编程规范的要求,程序块应当采用缩进风格编写,且缩进的空格数统一为4个。对于由开发工具自动生成的代码,允许有一定的不一致性。这种规范有助于提高代码的可读性和美观性。 - 示例:不符合规范的代码: ```c if(!valid_ni(ni)) { //programcode } repssn_ind=ssn_data[index].repssn_index; repssn_ni=ssn_data[index].ni; ``` - 正确的书写方式: ```c if(!valid_ni(ni)) { //programcode } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; ``` 2. **空行使用**:相对独立的程序块之间以及变量声明之后必须加入空行,以增加代码的可读性。这样做的目的是为了使程序更加清晰易懂。 3. **长语句分割**:当语句长度超过80个字符时,应该适当地将其分成多行,并确保在较低优先级的操作符处断开。同时,断开后的新行应当适当缩进,以保持良好的格式。例如: - 示例代码: ```c 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)); ``` 4. **循环和判断语句**:如果循环、判断等语句包含较长的表达式或语句,同样应当进行适当的划分。这包括在较低优先级的操作符处断开并放置操作符于新行之首。 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); ``` 6. **单行语句**:避免在一个语句行中编写多个语句,即每个语句都应单独占据一行。 7. **控制语句的格式**:`if`、`for`、`do`、`while`、`case`、`switch`、`default`等控制语句应当自占一行,且其执行语句部分无论多少都要加括号 `{}`。 8. **对齐规则**:对齐只能使用空格键,不能使用 `Tab` 键。这是为了避免不同编辑器下由于 `Tab` 键宽度设置不同而导致的代码布局不整齐问题。 9. **函数和过程的缩进**:函数或过程的开始、结构的定义以及循环、判断等语句中的代码都需要采用缩进风格编写。 通过遵循这些规范,开发者能够编写出更易于阅读和维护的代码,同时也提升了团队协作的效率。这对于大型项目尤为重要,能够帮助减少错误并提高代码质量。
剩余58页未读,继续阅读
- 粉丝: 17
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SSM框架的课堂签到系统设计源码分享
- 力荐!Qt中的C++技术(含源码).7z
- 基于Java技术的成人职业技能教育网络课堂系统设计源码
- 基于Python的AI车牌识别系统、微信小程序助农驿站及图书管理系统设计源码
- 基于PHP的o2o同城系统交通服务模块设计源码
- 永磁同步电机基于滑膜的无速度传感器控制仿真 simulink pmsm+smo
- 基于C#开发的全面功能开源称重软件设计源码
- Golang-alpine 镜像文件
- 基于Java、CSS、JavaScript的三平台通用小说下载器与阅读器设计源码
- 带遗忘因子的递推最小二乘轮胎线性侧偏刚度估计 matlab与simulink联合仿真轮胎侧偏刚度估计,可用于车辆动力学模型建模
- 基于Python语言的多语言支持QQ/频道/OneBot ChatGPT机器人设计源码
- 基于Vue的hao123网页简洁版设计源码
- 基于Vue的海外短剧系统多语言版H5与APP双端设计源码
- 拉丁超立方抽样 分层随机抽样 实现多种概率分布数据的生成 图1、2展示了正态分布的拉丁超立方抽样与简单随机抽样的对比,拉丁超立方抽样生成的数据更加光滑、分布范围更加均匀,可考虑到小概率事件的生成 案例
- 基于C++和C语言的武汉理工大学2020数据结构与算法综合实验设计源码
- 阀测试项目软件,上位机通过Labwindows CVI编写,下位机使用的是倍福PLC,下位机软件通过TwinCAT3编写,上位机和下位机通过ADS通讯,还包括一台S7-200 smart,通过OPC进