|
| 1 | +# 阶段 4:内容迁移 - 添加 Frontmatter |
| 2 | + |
| 3 | +## 目标 |
| 4 | + |
| 5 | +为现有 86 篇文章添加 YAML frontmatter 元数据,实现标签分类、难度评级、关联推荐等功能。 |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## Frontmatter 模板 |
| 10 | + |
| 11 | +```yaml |
| 12 | +--- |
| 13 | +title: "文章标题" |
| 14 | +description: "一句话描述" |
| 15 | +chapter: X |
| 16 | +order: Y |
| 17 | +tags: |
| 18 | + - 标签1 |
| 19 | + - 标签2 |
| 20 | +difficulty: beginner|intermediate|advanced |
| 21 | +reading_time_minutes: 10 |
| 22 | +prerequisites: |
| 23 | + - "前置章节" |
| 24 | +related: |
| 25 | + - "相关文章" |
| 26 | +cpp_standard: [11, 14, 17] |
| 27 | +--- |
| 28 | +``` |
| 29 | + |
| 30 | +--- |
| 31 | + |
| 32 | +## 任务分配(按章节) |
| 33 | + |
| 34 | +### Task 1: Chapter 0 - 前言与基础(6篇) |
| 35 | + |
| 36 | +| 文件 | 标题建议 | 标签 | |
| 37 | +|------|----------|------| |
| 38 | +| 0前言.md | 前言 | 基础,入门 | |
| 39 | +| 1嵌入式的资源与实时约束.md | 嵌入式的资源与实时约束 | 嵌入式,实时性,资源限制 | |
| 40 | +| 2急速C语言速通复习.md | C语言速通复习 | C语言,基础语法 | |
| 41 | +| 3快速过一下C++98的基本特性.md | C++98基本特性 | C++98,基础 | |
| 42 | +| 4何时用C++、用哪些C++特性.md | 何时用C++ | 语言选择,权衡 | |
| 43 | +| 5语言选择原则.md | 语言选择原则 | 性能,可维护性 | |
| 44 | +| 6学习如何评估程序的性能和体积开销.md | 性能与体积评估 | 性能优化,体积 | |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +### Task 2: Chapter 1 - 构建工具链(3篇) |
| 49 | + |
| 50 | +| 文件 | 标签 | |
| 51 | +|------|------| |
| 52 | +| 1随意聊下交叉编译和CMake简单指南.md | 交叉编译,CMake,工具链 | |
| 53 | +| 2常见编译器选项指南.md | 编译器选项,优化 | |
| 54 | +| 3链接器与链接器脚本.md | 链接器,链接脚本 | |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +### Task 3: Chapter 2 - 零开销抽象(4篇) |
| 59 | + |
| 60 | +| 文件 | 标签 | |
| 61 | +|------|------| |
| 62 | +| 1零开销抽象.md | 零开销抽象,编译器优化 | |
| 63 | +| 2内联与编译器优化.md | 内联,优化 | |
| 64 | +| 3constexpr.md | constexpr,编译期 | |
| 65 | +| 4 CRTP VS 运行时多态.md | CRTP,多态,模板 | |
| 66 | + |
| 67 | +--- |
| 68 | + |
| 69 | +### Task 4: Chapter 3 - 内存与对象管理(5篇) |
| 70 | + |
| 71 | +| 文件 | 标签 | |
| 72 | +|------|------| |
| 73 | +| 1 初始化列表.md | 初始化列表 | |
| 74 | +| 2 移动语义.md | 移动语义,右值引用 | |
| 75 | +| 3 RVO, NRVO.md | RVO,NRVO,返回值优化 | |
| 76 | +| 4 空基类优化(EBO).md | EBO,空基类 | |
| 77 | +| 5对象大小,平凡类型.md | 对象大小,平凡类型 | |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +### Task 5: Chapter 5 - 内存管理策略(6篇) |
| 82 | + |
| 83 | +| 文件 | 标签 | |
| 84 | +|------|------| |
| 85 | +| 1动态分配问题.md | 动态分配,堆 | |
| 86 | +| 2静态存储与栈上分配策略.md | 栈,静态存储 | |
| 87 | +| 3对象池模式.md | 对象池,模式 | |
| 88 | +| 4禁用heap...放置new.md | placement-new | |
| 89 | +| 5固定池分配.md | 固定池,分配器 | |
| 90 | +| 6array vs 一般数组.md | array,数组 | |
| 91 | + |
| 92 | +--- |
| 93 | + |
| 94 | +### Task 6: Chapter 6 - RAII与智能指针(8篇) |
| 95 | + |
| 96 | +| 文件 | 标签 | |
| 97 | +|------|------| |
| 98 | +| 1 RAII在外设管理的作用.md | RAII,外设管理 | |
| 99 | +| 2 unique_ptr.md | unique_ptr,智能指针 | |
| 100 | +| 3 shared_ptr.md | shared_ptr,智能指针 | |
| 101 | +| 4 unique_ptr、shared_ptr的嵌入式取舍.md | 智能指针,权衡 | |
| 102 | +| 5 intrusive智能指针.md | intrusive,智能指针 | |
| 103 | +| 6 自定义Deleter.md | deleter,智能指针 | |
| 104 | +| 7 引用计数.md | 引用计数 | |
| 105 | +| 8 Scope Guard.md | scope_guard,RAII | |
| 106 | + |
| 107 | +--- |
| 108 | + |
| 109 | +### Task 7: Chapter 7 - 容器与数据结构(6篇) |
| 110 | + |
| 111 | +| 文件 | 标签 | |
| 112 | +|------|------| |
| 113 | +| 1 array.md | array,容器 | |
| 114 | +| 2 span.md | span,视图 | |
| 115 | +| 3 循环缓冲区.md | 循环缓冲区 | |
| 116 | +| 4 侵入式容器设计.md | 侵入式容器 | |
| 117 | +| 5 ETL.md | ETL,容器库 | |
| 118 | +| 6 自定义的分配器.md | 分配器 | |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +### Task 8: Chapter 8 - 类型安全(7篇) |
| 123 | + |
| 124 | +| 文件 | 标签 | |
| 125 | +|------|------| |
| 126 | +| 1 enum class.md | enum,枚举 | |
| 127 | +| 2 类型安全的寄存器访问.md | 寄存器,类型安全 | |
| 128 | +| 3 variant.md | variant,类型安全 | |
| 129 | +| 4 optional.md | optional,类型安全 | |
| 130 | +| 5 expected.md | expected,错误处理 | |
| 131 | +| 6 类型别名与using声明.md | using,类型别名 | |
| 132 | +| 7 字面量运算符与自定义单位.md | 字面量运算符 | |
| 133 | + |
| 134 | +--- |
| 135 | + |
| 136 | +### Task 9: Chapter 9 - 函数式特性(8篇) |
| 137 | + |
| 138 | +| 文件 | 标签 | |
| 139 | +|------|------| |
| 140 | +| 1 Lambda表达式基础.md | lambda,函数式 | |
| 141 | +| 2 Lambda捕获与性能影响.md | lambda,捕获,性能 | |
| 142 | +| 3 std function vs 函数指针.md | function,函数指针 | |
| 143 | +| 4 回调机制的零开销实现.md | 回调,零开销 | |
| 144 | +| 5 std invoke与可调用对象.md | invoke,可调用对象 | |
| 145 | +| 6 函数式错误处理模式.md | 函数式,错误处理 | |
| 146 | +| 7 C++20范围库基础与视图.md | ranges,视图 | |
| 147 | +| 8 管道操作与Ranges实战.md | ranges,管道 | |
| 148 | + |
| 149 | +--- |
| 150 | + |
| 151 | +### Task 10: Chapter 10 - 并发与原子(4篇) |
| 152 | + |
| 153 | +| 文件 | 标签 | |
| 154 | +|------|------| |
| 155 | +| 1 atomic.md | atomic,原子操作 | |
| 156 | +| 2 memory_order.md | memory_order,内存序 | |
| 157 | +| 3 无锁数据结构设计.md | 无锁,数据结构 | |
| 158 | +| 4 mutex与RAII守卫.md | mutex,锁,RAII | |
| 159 | + |
| 160 | +--- |
| 161 | + |
| 162 | +### Task 11: 其他模块(~35篇) |
| 163 | + |
| 164 | +- 现代C++特性/ |
| 165 | +- 现代C++工程实践/ |
| 166 | +- 深入理解CC++编译特性指南/ |
| 167 | +- 环境配置/ |
| 168 | +- 调试专题/ |
| 169 | +- 并行计算C++/ |
| 170 | + |
| 171 | +--- |
| 172 | + |
| 173 | +## 操作步骤 |
| 174 | + |
| 175 | +### 1. 选择任务 |
| 176 | + |
| 177 | +认领一个 Task(如 Task 5: Chapter 6) |
| 178 | + |
| 179 | +### 2. 添加 Frontmatter |
| 180 | + |
| 181 | +在文章开头添加 YAML frontmatter: |
| 182 | + |
| 183 | +```markdown |
| 184 | +--- |
| 185 | +title: "RAII 在外设管理中的作用" |
| 186 | +description: "介绍 RAII 模式在嵌入式外设管理中的应用" |
| 187 | +chapter: 6 |
| 188 | +order: 1 |
| 189 | +tags: |
| 190 | + - RAII |
| 191 | + - 外设管理 |
| 192 | + - 资源管理 |
| 193 | +difficulty: intermediate |
| 194 | +reading_time_minutes: 12 |
| 195 | +prerequisites: |
| 196 | + - "Chapter 5: 内存管理策略" |
| 197 | +related: |
| 198 | + - "Scope Guard" |
| 199 | + - "unique_ptr" |
| 200 | +cpp_standard: [11, 14, 17] |
| 201 | +--- |
| 202 | + |
| 203 | +# 嵌入式C++开发——RAII 在驱动 / 外设管理中的应用 |
| 204 | +... |
| 205 | +``` |
| 206 | + |
| 207 | +### 3. 验证 |
| 208 | + |
| 209 | +```bash |
| 210 | +python3 scripts/validate_frontmatter.py |
| 211 | +``` |
| 212 | + |
| 213 | +### 4. 提交 |
| 214 | + |
| 215 | +```bash |
| 216 | +git add . |
| 217 | +git commit -m "stage4: 添加 Chapter X frontmatter" |
| 218 | +git push |
| 219 | +``` |
| 220 | + |
| 221 | +--- |
| 222 | + |
| 223 | +## 标签分类参考 |
| 224 | + |
| 225 | +| 类别 | 标签 | |
| 226 | +|------|------| |
| 227 | +| 概念 | RAII, 移动语义, 零开销抽象, 编译期计算 | |
| 228 | +| 语言特性 | constexpr, lambda, CRTP, concepts, coroutine | |
| 229 | +| 智能指针 | unique_ptr, shared_ptr, weak_ptr, intrusive_ptr | |
| 230 | +| 容器 | array, span, vector, map, 循环缓冲区 | |
| 231 | +| 类型安全 | enum, variant, optional, expected | |
| 232 | +| 函数式 | function, lambda, ranges, invoke | |
| 233 | +| 并发 | atomic, mutex, memory_order, 无锁 | |
| 234 | +| 工具链 | CMake, 链接器, 编译器选项 | |
| 235 | + |
| 236 | +--- |
| 237 | + |
| 238 | +## 进度追踪 |
| 239 | + |
| 240 | +| Task | 章节 | 负责人 | 状态 | |
| 241 | +|------|------|--------|------| |
| 242 | +| 1 | Chapter 0 (6篇) | | ⏸️ 待分配 | |
| 243 | +| 2 | Chapter 1 (3篇) | | ⏸️ 待分配 | |
| 244 | +| 3 | Chapter 2 (4篇) | | ⏸️ 待分配 | |
| 245 | +| 4 | Chapter 3 (5篇) | | ⏸️ 待分配 | |
| 246 | +| 5 | Chapter 5 (6篇) | | ⏸️ 待分配 | |
| 247 | +| 6 | Chapter 6 (8篇) | | ⏸️ 待分配 | |
| 248 | +| 7 | Chapter 7 (6篇) | | ⏸️ 待分配 | |
| 249 | +| 8 | Chapter 8 (7篇) | | ⏸️ 待分配 | |
| 250 | +| 9 | Chapter 9 (8篇) | | ⏸️ 待分配 | |
| 251 | +| 10 | Chapter 10 (4篇) | | ⏸️ 待分配 | |
| 252 | +| 11 | 其他模块 (~35篇) | | ⏸️ 待分配 | |
| 253 | + |
| 254 | +--- |
| 255 | + |
| 256 | +## 建议分工 |
| 257 | + |
| 258 | +- **10 人协作**:每人负责 1 个 Task |
| 259 | +- **5 人协作**:每人负责 2 个 Task |
| 260 | +- **预计时间**:每人 1-2 小时 |
| 261 | + |
| 262 | +--- |
| 263 | + |
| 264 | +## 完成标准 |
| 265 | + |
| 266 | +- [ ] 所有文章包含 frontmatter |
| 267 | +- [ ] `validate_frontmatter.py` 无错误 |
| 268 | +- [ ] 标签使用规范分类 |
| 269 | +- [ ] 难度评级合理 |
0 commit comments