文档编写规范
核心原则:
文档即代码。
V语言采用类似Go的文档方案,通过代码注释自动生成文档(使用v doc
命令)
基础规则:
- 位置要求:文档注释必须紧贴声明之前
- 命名开头:首句必须包含定义名称
- 时态规范:统一使用现在时态
// clearall 清空数组中所有比特位
fn clearall() {
}
多行文档写法:
// copy_all 递归复制数组所有元素的值
// 当`dupes`为false时,复制过程将消除所有重复值
// 返回新数组的长度
fn copy_all(dupes bool) int {
// ...
}
模块文档规范:
// 网络HTTP模块
// 提供HTTP客户端和服务端实现
// 支持HTTPS/TLS加密连接
module http
// get 发起HTTP GET请求
// 返回响应体或错误信息
fn get(url string) !string {
// ...
}
高级格式化:
// ## 缓存配置项
// | 参数名 | 类型 | 说明 |
// |----------|--------|--------------|
// | max_size | int | 最大缓存条目数 |
// | ttl | time.Duration | 缓存有效期 |
//
// 配置示例:
// - max_size=1000
// - ttl=5m
struct CacheConfig {
max_size int
ttl time.Duration
}
特殊格式处理:
// 数据库操作指南
// -------------------------------
// 1. 初始化连接池
// 2. 执行SQL查询
// 3. 处理结果集
//
// 注意事项:
// * 避免SQL注入
// * 及时关闭连接
//
// 错误处理流程:
// -> 检查连接状态
// -> 重试机制
// -> 回滚事务
文档生成命令:
# 生成标准库文档
v doc net.http
# 生成当前项目文档
v doc .
注释合并规则:
多行注释自动合并(除以下情况):
- 空行 → 分段
---
/===
→ 水平分割线# 标题
→ 标题样式| 表格 |
→ 表格列- 列表项
→ 列表元素