🪟 窗帘电机重构
嵌入式 · 30章
代码重构与维护 · 风格
01
窗帘电机系统概述
电机类型 · 驱动方式 · UART/PWM/485 · 系统架构图
02
代码重构基础
重构与重写区别 · 时机原则 · 收益与风险
03
代码坏味道识别
重复代码 · 过长函数 · 过大类 · 发散变化 · 霰弹修改
04
重构手法之函数提炼
Extract Method · Inline Method · 引入解释性变量
05
重构手法之数据组织
自封装字段 · 对象取代数组 · 类取代类型码 · 状态/策略
06
重构手法之条件逻辑简化
分解/合并条件 · 卫语句 · 多态取代条件
07
重构手法之API与继承体系
提升/下移字段方法 · 提取子类/超类 · 委托取代继承
08
窗帘电机状态机重构
状态模式 · 状态表驱动 · 事件驱动 · 代码生成
09
电机控制算法重构
PID封装 · 速度曲线 · 堵转检测 · 电流/速度环分离
10
通信协议栈重构
UART抽象 · 协议解析器 · 命令分发 · 超时重试
11
定时器与任务调度重构
软件定时器封装 · 优先级管理 · 时间片 · 看门狗
12
参数存储与管理重构
EEPROM/Flash抽象 · 校验默认值 · 配置版本 · 同步
13
日志与调试系统重构
日志等级 · 输出接口 · 环形缓冲区 · 调试命令框架
14
错误处理与异常恢复重构
错误码统一 · 异常状态机 · 故障记录 · 安全降级
15
单元测试框架搭建
CUnit/Unity · 测试用例 · Mock对象 · 覆盖率
16
模块化与分层架构重构
HAL · 中间件层 · 应用层 · 层间接口定义
17
代码风格与规范统一
命名/注释规范 · 文件组织 · 格式化工具
18
版本控制与分支策略
Git Flow · 功能分支 · 代码审查 · 标签发布
19
持续集成与自动化测试
Jenkins/GitLab CI · 自动构建 · 静态分析 · 部署
20
代码度量与质量评估
圈复杂度 · 代码行数 · 耦合内聚 · 技术债务
21
遗留代码处理策略
特征测试 · 接缝识别 · 依赖解耦 · 绞杀者模式
22
重构实战案例一
窗帘电机启停控制 · 过程式→状态模式
23
重构实战案例二
位置校准算法 · 硬编码→参数化配置
24
重构实战案例三
多电机同步控制 · 轮询→事件驱动
25
重构实战案例四
OTA升级模块 · 单任务→状态机+任务队列
26
重构实战案例五
故障诊断系统 · if-else→策略模式+责任链
27
代码审查与重构评审
审查清单 · 影响分析 · 评审流程 · 文档编写
28
重构后的性能优化
执行效率 · 内存占用 · 实时性 · 功耗优化
29
重构后的维护性评估
可读性 · 可测试性 · 可扩展性 · 可移植性
30
课程总结与最佳实践
重构路线图 · 常见陷阱 · 团队协作 · 持续改进