文档编写规范

核心原则:

文档即代码。

V语言采用类似Go的文档方案,通过代码注释自动生成文档(使用v doc命令)

基础规则:

  1. 位置要求:文档注释必须紧贴声明之前
  2. 命名开头:首句必须包含定义名称
  3. 时态规范:统一使用现在时态
// 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 .

注释合并规则:

多行注释自动合并(除以下情况):

  1. 空行 → 分段
  2. ---/=== → 水平分割线
  3. # 标题 → 标题样式
  4. | 表格 | → 表格列
  5. - 列表项 → 列表元素