曙海教学优势
本课程,秉承二十一年积累的教学品质,以项目实现为导向,面向企事业项目实际需要,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。课程可定制,线上/线下/上门皆可,热线:4008699035。
曙海培训的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系,合作企业30万+。曙海培训的课程在业内有着响亮的知名度。
嵌入式C高质量编程培训课程
培训目标:
通过本课程,学员可以:
·了解C语言的嵌入式开发特性
·了解和性能有关的编码要素
·了解嵌入式C程序的常见组织风格
·了解如何采用C进行面向编程
·掌握如何建立程序的性能
·掌握如何进行可靠性设计、监测并处理可靠性问题
·掌握如何建立可测试性,
·掌握如何进行嵌入式C白盒测试
·掌握如何进行嵌入式C代码评审,
·掌握如何定位嵌入式C质量缺陷并进行代码重构
培训对象:嵌入式开发工程师,C程序员
学员基础:具有开发一定的开发经验
培训内容:
嵌入式C关键特性 |
|
嵌入式C编程基础 |
· 变量与内存分配机制 · 函数与调用原理 · 条件控制语句 · 常量和变量 · 指针和函数指针 · 设计中断函数 · 关键字static,extern,volatile,inline · 位操作的应用 · 结构体中的位域 |
嵌入式C编码风格 |
· 变量、函数、宏的命名 · 代码排版与布局 · 注释的策略 · indent工具 · 为代码编写文档 |
嵌入式C性能优化 |
· 使用宏和inline · 使用寄存器变量 · 内嵌汇编 · 利用硬件特性 · 循环展开 · 使用查找表 · 紧凑的C代码并不能保证得到高效的机器代码 · 编译优化 |
嵌入式C软件结构 |
|
嵌入式C软件模块与模块划分 |
· 模块划分原则 · 源代码文件和目录的组织 · 硬件驱动模块 · 软件功能模块 · 提供API · 头文件 · 全局变量 · 主循环与中断 · 软件的分层结构 |
嵌入式C函数 |
· 一个函数只做一件事,不要编写多种功能集于一身的函数 · 明确地定义函数的参数 · 避免比尔类型参数 · 编写函数使其在给定有效的输入情况下不会失败 · 函数不依赖于另一个函数的内部细节 · 函数要小且容易测试 · 函数内部代码块 |
嵌入式C的面向对象 |
· 用struct来模拟class · 封装 · 继承 · 重载 · 数据结构的抽象 |
代码质量 |
|
嵌入式C防御性编程 |
· 防御性代码的风格 · 编译警告开关的使用 · 预计所有可能的异常 · 检查所有的返回值 · 审慎处理内存资源 · 变量声明策略 · 审慎地进行强制转换 · 尽量用可移植的数据类型 · 使用lint来查出编译程序漏掉的错误 · 使用断言 |
嵌入式C白盒测试 |
· TDD与单元测试 · 单元测试与Debug · 单元测试用例设计 · 即使测试代码会影响进度,也要坚持测试代码 · 测试代码的责任不在测试员身上,而是程序员自己的责任 |
嵌入式C代码评审 |
· 代码评审的规范 · 代码评审的组织方式 · 代码评审的内容 · 结合配置管理强制代码评审 |
嵌入式C代码重构 |
· 代码重构的原则 · 重新命名函数 · 提炼函数 · 提炼判断条件 · 简化函数参数 · 解除全局变量的噩梦 · 避免函数传递中的隐形bug · 调整函数位置 |