📘 嵌入式C语言 · 版本管理 & 编码规范 🎯 实战30章
🧩 从零到团队规范 📚 30 节 · 完整体系
01
版本管理基础
为什么嵌入式项目需要版本管理?Git vs SVN 对比,嵌入式场景下的选择。
02
Git环境搭建
在Windows/Linux下安装Git,配置用户信息与SSH密钥,连接远程仓库。
03
Git核心操作
git init、clone、add、commit、status、log 命令详解与实战。
04
分支管理策略
Git Flow、GitHub Flow 在嵌入式固件开发中的应用。
05
标签与发布管理
使用git tag进行版本标记,语义化版本规范(SemVer)在固件中的应用。
06
.gitignore文件
嵌入式项目中哪些文件不该提交?编译产物、IDE配置、第三方库的忽略规则。
07
子模块管理
使用git submodule管理第三方驱动库与中间件。
08
代码审查流程
Pull Request工作流,Code Review Checklist(嵌入式专用)。
09
编码规范总纲
为什么需要编码规范?MISRA C、GNU C、公司内部规范的取舍。
10
命名规范
变量、函数、宏、文件、结构体的命名规则(匈牙利命名法 vs 下划线命名法)。
11
注释规范
Doxygen风格注释,函数头、文件头、关键逻辑的注释要求。
12
排版与缩进
K&R风格 vs Allman风格,嵌入式团队如何统一?Tab vs 空格之争。
13
头文件规范
#ifndef/#define/#endif 保护,头文件包含顺序,前向声明。
14
变量与作用域
全局变量最小化原则,static关键字的使用,volatile的正确用法。
15
函数设计规范
函数长度控制,单一职责原则,参数个数限制,返回值处理。
16
宏定义规范
#define vs const/enum,带参宏的括号陷阱,do-while(0)技巧。
17
指针使用规范
空指针检查,指针运算边界,const修饰指针的三种场景。
18
内存管理规范
嵌入式动态内存分配的风险,静态分配优先,内存泄漏检测。
19
中断服务程序规范
ISR编写黄金法则,临界区保护,volatile与__irq关键字。
20
位操作规范
使用位域还是宏?寄存器操作的原子性,读-改-写模式。
21
断言与错误处理
assert的使用场景,错误码定义规范,日志输出规范。
22
模块化设计
模块接口定义,内聚与耦合,头文件与源文件的对应关系。
23
配置管理
使用条件编译(#ifdef)管理多平台代码,配置文件的统一管理。
24
测试规范
单元测试框架(Unity/CMock),测试用例编写,持续集成(CI)入门。
25
文档规范
README编写模板,API文档生成,变更日志(CHANGELOG)维护。
26
代码格式化工具
使用clang-format统一代码风格,自动化检查脚本。
27
静态分析工具
PC-Lint、Cppcheck在嵌入式项目中的集成与配置。
28
版本号与发布流程
固件版本号的组成,OTA升级中的版本兼容性管理。
29
团队协作规范
分支命名规范,提交信息规范(Conventional Commits),冲突解决策略。
30
实战案例
从零搭建一个嵌入式项目的版本管理与编码规范体系(STM32/FreeRTOS项目为例)。