📘 嵌入式C函数黄金法则
30章 · 高手之路
⭐ 友好色系
1
引言与原则总览
为什么需要函数编写规范?嵌入式C函数的黄金法则概述。
➜
2
单一职责原则
一个函数只做一件事,如何拆分复杂逻辑。
➜
3
函数命名规范
命名风格、动词开头、见名知意。
➜
4
参数设计原则
参数数量控制、输入输出参数分离、const限定符使用。
➜
5
返回值设计
错误码设计、布尔返回值、指针返回值的陷阱。
➜
6
函数长度控制
代码行数限制、屏幕一页原则、如何重构长函数。
➜
7
圈复杂度控制
什么是圈复杂度?如何降低if-else嵌套?
➜
8
防御性编程
参数合法性检查、断言(assert)的使用时机。
➜
9
错误处理策略
集中式vs分散式错误处理、goto的合理使用。
➜
10
全局变量与函数
如何减少全局变量依赖、参数传递替代方案。
➜
11
静态函数的使用
文件作用域、信息隐藏、模块化设计。
➜
12
内联函数与宏
何时用内联?何时用宏?各自的坑。
➜
13
回调函数设计
函数指针类型定义、回调上下文传递。
➜
14
可重入函数设计
什么是可重入?如何避免静态变量依赖?
➜
15
中断服务函数(ISR)
ISR的黄金法则、临界区保护。
➜
16
状态机实现
switch-case vs 函数指针表、状态机函数设计。
➜
17
驱动层函数设计
硬件抽象层(HAL)函数规范、寄存器操作封装。
➜
18
通信协议解析函数
环形缓冲区配合、状态机解析、超时处理。
➜
19
内存管理函数
malloc在嵌入式中的禁忌、静态内存池设计。
➜
20
时间相关函数
非阻塞延时、超时检测、时间戳函数。
➜
21
日志与调试函数
条件编译控制、日志级别、性能影响。
➜
22
单元测试与函数设计
可测试性设计、桩函数(stub)与模拟(mock)。
➜
23
代码注释规范
函数头注释、行内注释、doxygen风格。
➜
24
版本兼容性设计
函数废弃标记、向后兼容策略。
➜
25
性能优化与函数设计
寄存器传递、尾调用优化、循环展开。
➜
26
安全编码规范
MISRA-C与函数编写、避免未定义行为。
➜
27
多任务环境函数设计
互斥锁、信号量、任务间通信。
➜
28
代码审查清单
函数审查的10个检查点。
➜
29
实战案例:重构全过程
从糟糕函数到优雅函数的重构全过程。
➜
30
总结与最佳实践
30条黄金法则速查表、持续学习路径。
➜