课程目录:嵌入式C高质量编程培训
4401 人关注
(78637/99817)
课程大纲:

         嵌入式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
调整函数位置