VEP 1: VEP 目的与流程

状态
终稿
类型
流程
创建日期
2026-06-30
作者
Fexcode

VEP 1 — VEP 目的与流程

摘要

VEP(Vix Enhancement Proposal)是 Vix 语言社区提出、讨论和记录改进建议的标准化流程。本文档定义了 VEP 的目的、类型、生命周期以及提交规范。

动机

Vix 语言的发展需要一套清晰的决策机制。参考 Python PEP 的经验,VEP 流程旨在:

  • 为语言演进提供透明的讨论渠道
  • 保留设计决策的历史记录
  • 让社区参与语言发展方向的选择
  • 统一标准库、编译器和工具链的变更流程

VEP 的类型

每份 VEP 必须属于以下类型之一:

类型 说明
标准 语言语法、语义、标准库等核心变更
流程 围绕 Vix 开发流程的变更(如本提案)
信息 设计指南、最佳实践、信息说明,不涉及功能变更

VEP 状态与生命周期

状态定义

状态 说明
草稿 正在编写和讨论中,尚未定型
已接受 核心团队认可方向,等待实现
已实现 提案内容已完成开发并合并
已拒绝 经讨论后被否决,不再推进
已撤回 提交者主动撤回,不再继续
终稿 已实现并稳定,不再修改

状态流转

         ┌─────────┐
         │  草稿    │
         └────┬────┘
              │
       ┌──────┼──────────┐
       │      │          │
       ▼      ▼          ▼
   ┌──────┐ ┌────┐ ┌────────┐
   │已接受│ │已拒绝│ │ 已撤回 │
   └──┬───┘ └────┘ └────────┘
      │
      ▼
  ┌────────┐
  │已实现  │
  └───┬────┘
      │
      ▼
  ┌──────┐
  │ 终稿  │
  └──────┘

提交 VEP 的步骤

1. 前期准备

在开始撰写正式提案前,建议先在 GitHub Issues 发起讨论,收集社区反馈。

2. 编写提案

  • Fork 本仓库
  • _veps/vep-0000.md 复制模板
  • 命名为 _veps/vep-<编号>.md
  • 填写 front matter 和正文

3. 提交 PR

将提案以 Pull Request 形式提交,状态标记为 草稿

4. 讨论与评审

  • 社区和核心团队在 PR 中提出修改意见
  • 提交者根据反馈更新提案内容
  • 讨论应在合理时间内完成

5. 决策

核心团队对提案做出最终决定:

  • 接受 → 状态改为 已接受
  • 拒绝 → 状态改为 已拒绝,并说明理由

6. 实现与终稿

  • 提案实现后,状态改为 已实现
  • 稳定运行后改为 终稿

编号规则

  • VEP 编号按顺序分配,从 0 开始
  • VEP 0 为索引提案
  • VEP 1 为本提案(目的与流程)
  • 已被拒绝的提案的编号不重复使用

格式规范

每份 VEP 必须包含以下 front matter:

---
vep: <编号>
title: <标题>
status: 草稿 | 已接受 | 已实现 | 已拒绝 | 已撤回 | 终稿
type: 标准 | 流程 | 信息
created: YYYY-MM-DD
updated: YYYY-MM-DD  # 可选
author: <作者名>      # 可选
---

元数据字段说明

字段 必填 说明
vep 提案编号,整数
title 提案标题,简明扼要
status 当前状态,见状态定义
type 提案类型,见VEP 的类型
created 创建日期
updated 最后更新日期
author 提案作者

正文结构建议

  • 使用 Markdown 编写
  • 建议包含:摘要、动机、详细设计、兼容性考虑、参考文献等章节
  • 复杂提案可包含图表(推荐使用 ASCII art 或 Mermaid 图表)

参考文献


This site uses Just the Docs, a documentation theme for Jekyll.