75 lines
2.2 KiB
Markdown
75 lines
2.2 KiB
Markdown
---
|
||
name: 模块分析文档生成
|
||
description: Use when 用户要求读取某个模块源码并形成对应的模块分析文档,或要求分析某个 src/ 下的子模块
|
||
---
|
||
|
||
# 模块分析文档生成
|
||
|
||
## 概述
|
||
|
||
读取项目 `src/` 下指定模块的全部源码,按统一结构生成工程分析文档,存入 `mimo/工程/`。
|
||
|
||
## 工作流程
|
||
|
||
1. 确认模块路径(`src/system/<module>/` 或 `src/protocol/<module>/` 或 `src/public/<module>/`)
|
||
2. 读取模块下 **全部** `.c`、`.h`、`.cpp`、`.hpp` 文件(header 和 source 都要)
|
||
3. 用自己的理解与分析撰写文档,**不照搬任何现有文档**
|
||
4. 输出到 `mimo/工程/<模块名>模块分析.md`
|
||
|
||
## 文档结构
|
||
|
||
每篇分析文档必须包含以下章节:
|
||
|
||
### 1. 模块定位
|
||
- 该模块在 RTU 整体架构中的角色(系统层/协议层/公共库)
|
||
- 与上下层模块的关系(谁调用它、它调用谁)
|
||
- 运行方式(独立线程、定时器驱动、事件驱动等)
|
||
|
||
### 2. 目录与文件清单
|
||
- 列出模块的目录结构
|
||
- 每个文件的职责一句话说明
|
||
|
||
### 3. 核心数据结构
|
||
- 列出最重要的 struct/class
|
||
- 每个字段的用途与含义
|
||
- 数据结构之间的关联关系
|
||
|
||
### 4. 核心流程
|
||
- 初始化流程(从入口到就绪的调用链)
|
||
- 运行时主循环/事件处理流程
|
||
- 关键操作的完整流程(如控制命令从发起到完成的路径)
|
||
|
||
### 5. 对外接口
|
||
- 列出所有公开 API 函数
|
||
- 每个 API:函数签名、参数说明、返回值、副作用
|
||
|
||
### 6. 线程安全
|
||
- 使用了哪些锁或同步机制
|
||
- 哪些数据被共享、哪些是线程局部的
|
||
- 并发模型说明
|
||
|
||
### 7. 已知问题与注意事项
|
||
- 从源码中发现的设计限制或潜在问题
|
||
- 特殊约定或非标准做法
|
||
|
||
## 代码引用规范
|
||
|
||
- 代码片段必须来自实际源码,不可臆造
|
||
- 文档正文使用中文,代码块保持英文原样
|
||
- 不要添加代码注释(中文注释也不行)
|
||
|
||
## 输出路径
|
||
|
||
```
|
||
mimo/工程/<模块名>模块分析.md
|
||
```
|
||
|
||
命名示例:`libdatacenter模块分析.md`、`libmms_m模块分析.md`
|
||
|
||
## 完成标准
|
||
|
||
- 所有源码文件已读取
|
||
- 文档涵盖全部 7 个章节
|
||
- 代码示例来自实际源码
|
||
- 文件已写入 `mimo/工程/`
|