-
Notifications
You must be signed in to change notification settings - Fork 1
API_Template
SweerItTer edited this page Feb 1, 2026
·
3 revisions
本文档定义了 utilsCore API 文档的标准模板和编写规范。所有 API 文档应遵循此模板以确保一致性和可读性。
# [类/模块名] API 文档## 概述
[类/模块名] 是 utilsCore [模块名] 的核心类,提供[功能描述]。
### 职责
- [职责1]
- [职责2]
- [职责3]
### 适用场景
- [场景1]
- [场景2]
- [场景3]
### 依赖关系
- 依赖: [依赖模块]
- 被依赖: [被依赖模块]## 类/结构体分析
### [类名] 类
#### 职责与用途
[类的职责和用途描述]
#### 设计模式
- **[模式名]**: [模式说明]
- **[模式名]**: [模式说明]### [结构体名] 结构体
#### 职责与用途
[结构体的职责和用途描述]
#### 结构体定义
```cpp
struct [结构体名] {
[类型] [字段名]; // [说明]
[类型] [字段名]; // [说明]
};| 字段 | 类型 | 说明 |
|---|---|---|
[字段名] |
[类型] |
[说明] |
### 5. API 方法文档
```markdown
## 公共 API 方法
### [方法名]() - [方法描述]
```cpp
[返回类型] [方法名]([参数列表]);
参数说明:
-
[参数名](输入/输出): [参数说明]
返回值:
- [返回值说明]
所有权归属:
- [所有权规则]
注意事项:
- [注意事项1]
- [注意事项2]
使用例程:
// [使用例程]
### 6. 枚举定义
```markdown
## 枚举定义
### [枚举名] 枚举
#### 枚举值
| 值 | 说明 |
|----|------|
| `[枚举值]` | `[说明]` |
| `[枚举值]` | `[说明]` |
## 线程安全说明
### 同步机制
- **[同步机制1]**: [说明]
- **[同步机制2]**: [说明]
### 线程安全建议
- [建议1]
- [建议2]## 典型使用场景
### 场景 1: [场景标题]
```cpp
// [代码示例]// [代码示例]
**要求**: 至少提供 5 个典型使用场景
### 9. 注意事项
```markdown
## 注意事项
1. **[要点1]**: [详细说明]
2. **[要点2]**: [详细说明]
3. **[要点3]**: [详细说明]
要求: 至少提供 8 个注意事项
## 相关文档
- [相关文档1](./路径) - [说明]
- [相关文档2](./路径) - [说明]## 参考资料
- [参考资料1](URL)
- [参考资料2](URL)## 版本历史
- v1.0 - 初始版本,支持基本功能- 使用
#表示一级标题(文档标题) - 使用
##表示二级标题(章节) - 使用
###表示三级标题(子章节)
- 使用 ```cpp 标记 C++ 代码
- 使用 ```markdown 标记 Markdown 代码
- 代码缩进使用 4 个空格
- 注释使用
//格式
- 表头使用
|分隔 - 表格内容左对齐
- 必要时添加表格说明
- 使用相对路径引用文档:
./模块/文档名.md - 使用绝对路径引用外部资源:
https://example.com - 链接文本简明扼要
- 参数说明使用
(输入)/(输出)标注方向 - 返回值使用
-列表说明 - 所有权归属必须明确说明
- 注意事项使用编号列表
- 必须说明类的职责
- 必须说明适用场景
- 必须说明依赖关系
- 必须提供完整的函数签名
- 必须说明所有参数
- 必须说明返回值
- 必须说明所有权归属
- 必须提供使用例程
- 至少提供 5 个典型场景
- 场景必须具有代表性
- 代码必须可运行
- 至少提供 8 个注意事项
- 注意事项必须具有实际意义
- 必须覆盖常见陷阱
- 文档标题正确
- 概述完整(职责、场景、依赖)
- 类/结构体分析完整
- 所有 API 方法都有文档
- 参数说明完整
- 返回值说明完整
- 所有权归属明确
- 使用例程正确
- 至少 5 个使用场景
- 至少 8 个注意事项
- 线程安全说明完整
- 相关文档链接正确
- 参考资料链接有效
- 版本历史完整
参考以下文档作为示例:
- DmaBuffer - 完整的类文档示例
- DeviceController - 复杂类文档示例
- Base - 工具类文档示例
- Logger - 单例模式示例
A: 文档命名格式为 [类名]_wiki.md,使用小写字母和下划线。
A: 代码示例应包含完整的上下文,能够独立编译和运行。
A: 明确说明参数和返回值的所有权,使用以下格式:
- "返回值由调用者持有"
- "参数所有权由调用者管理"
- "无所有权转移"
A: 必须提供线程安全说明,包括同步机制和使用建议。
当 API 发生变化时,必须同步更新文档:
- 更新函数签名
- 更新参数说明
- 更新使用例程
- 更新版本历史
定期审查文档以确保准确性:
- 检查代码示例是否可运行
- 检查链接是否有效
- 检查描述是否准确
使用版本历史记录文档变更:
- v1.0 - 初始版本
- v1.1 - [变更说明]
- v2.0 - [重大变更说明]
如有问题或建议,请联系:
- 项目仓库: https://github.com/SweerItTer/EdgeVision-app
- 文档维护: [维护者信息]
主页
API 文档
DMA 模块
DRM 模块
- DRM 模块总览
- DeviceController - DRM 设备控制器
- DrmLayer - DRM 图层管理
- PlanesCompositor - DRM 平面合成器
- DrmBpp - DRM 格式定义
NET 模块
- NET 模块总览
- TcpServer - TCP 服务器
- SocketConnection - Socket 连接管理
- CommandHandler - 命令处理器
- DataPacket - 数据包
V4L2 模块
- V4L2 模块总览
- CameraController - V4L2 摄像头控制器
- Frame - V4L2 帧数据结构
- FormatTool - V4L2 格式工具
- Exception - V4L2 异常类
V4L2Param 模块
- V4L2Param 模块总览
- ParamControl - 参数控制
- ParamLogger - 参数日志
- ParamProcessor - 参数处理器
RGA 模块
- RGA 模块总览
- RgaConverter - RGA 转换器
- RgaProcessor - RGA 处理器
- FormatTool - RGA 格式工具
MPP 模块
- MPP 模块总览
- EncoderContext - 编码器上下文
- EncoderCore - 编码器核心
- JpegEncoder - JPEG 编码器
- StreamWriter - 流写入器
- MppResourceGuard - MPP 资源守护
- FileTools - 文件工具
- FormatTool - 格式工具
Sys 模块
- Sys 模块总览
- CpuMonitor - CPU 监控器
- MemoryMonitor - 内存监控器
- Base - 基础类
Mouse 模块
- Mouse 模块总览
- Watcher - 鼠标监视器
Utils 模块
- Utils 模块总览
- AsyncThreadPool - 异步线程池
- ConcurrentQueue - 并发队列
- FdWrapper - 文件描述符包装器
- FenceWatcher - 围栏监视器
- FixedSizePool - 固定大小对象池
- Logger - 日志记录器
- ObjectsPool - 对象池
- OrderedQueue - 有序队列
- ProgressBar - 进度条
- SafeQueue - 安全队列
- SharedBufferState - 共享缓冲区状态
- SimpleVariant - 简单变体类型
- ThreadPauser - 线程暂停器
- ThreadUtils - 线程工具
- Types - 类型定义
- UdevMonitor - Udev 监视器