⚡ 剃须刀嵌入式·架构与重构
30章 实战
📘 代码重构 · 低功耗 · 状态机
01
嵌入式软件架构概述
架构本质
什么是嵌入式软件架构、为什么需要架构、剃须刀产品的特殊性。
02
模块化设计原则
高内聚低耦合
单一职责原则、接口隔离原则在剃须刀中的应用。
03
状态机设计
FSM
有限状态机基础、剃须刀工作状态建模、状态转换表设计。
04
事件驱动架构
事件模型
事件驱动模型介绍、剃须刀按键事件处理、事件队列实现。
05
分层架构设计
HAL/驱动/服务
硬件抽象层、驱动层、服务层、应用层的划分与职责。
06
任务调度与管理
前后台 vs RTOS
任务优先级设计、剃须刀任务划分实例。
07
通信协议设计
I2C/SPI/UART
在剃须刀中的应用、自定义协议设计、数据帧格式。
08
电源管理架构
低功耗模式
电池电量检测、充电管理状态机。
09
传感器数据采集
霍尔·触摸·温度
霍尔传感器、触摸传感器、温度传感器的驱动架构。
10
电机控制架构
有刷/无刷
PWM控制策略、堵转保护逻辑。
11
用户界面(UI)架构
LED·数码管·OLED
LED指示灯控制、数码管/OLED显示、按键扫描与消抖。
12
数据存储与管理
EEPROM/Flash
参数配置存储、运行日志记录。
13
安全与保护机制
过流过温欠压
过流保护、过温保护、欠压保护、看门狗应用。
14
代码重构基础
重构目的
什么是重构、重构的目的、何时需要重构、重构的陷阱。
15
坏代码识别
过长函数·重复
过大类、重复代码、魔法数字、全局变量滥用。
16
重构手法之函数提炼
提取函数
内联函数、函数参数化、函数对象化。
17
重构手法之数据组织
自封装字段
以对象取代数组、以类取代基本类型。
18
重构手法之条件简化
分解条件
合并条件表达式、以多态取代条件。
19
重构手法之继承体系
提取超类/子类
以委托取代继承、以继承取代委托。
20
重构实战之状态机重构
switch→状态表
从switch-case到状态表、从状态表到状态模式。
21
重构实战之驱动层重构
统一驱动接口
分离硬件依赖、添加模拟层。
22
重构实战之任务调度重构
轮询→事件驱动
从硬编码到配置化。
23
重构实战之通信协议重构
协议解析器
增加超时重传机制。
24
重构实战之电源管理重构
统一电源状态
优化唤醒源处理。
25
重构实战之UI架构重构
分离显示与业务
引入命令模式。
26
代码审查与质量度量
圈复杂度
代码审查流程、圈复杂度、代码覆盖率、静态分析工具。
27
单元测试与TDD
C单元测试
C语言单元测试框架、编写可测试代码、TDD实践。
28
持续集成与自动化构建
Git+CI/CD
Git版本控制、CI/CD流水线、自动化测试集成。
29
文档与知识管理
架构文档·ADR
架构文档编写、API文档生成、设计决策记录(ADR)。
30
课程总结与未来展望
架构演进·AI
架构演进趋势、AI辅助开发、职业发展建议。