嵌入式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
· 调整函数位置
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获