name: RFC 提案 (中文)
description: 提交一个新的 RFC (Request for Comments) 提案 (中文版)
title: "[RFC] "
labels: ["kind/rfc"]
body:
- type: textarea
id: basic_info
attributes:
label:
description:
value: |
**状态(Status):** Draft / Reviewing / Approved / Rejected / Superseded
**作者(Authors):** @Your_community
**创建日期(Created):** YYYY-MM-DD
**更新日期(Updated):** YYYY-MM-DD
**相关 Issue/PR:** #123(关联 Issue/PR 以便追踪背景)
placeholder: |
validations:
required: true
- type: textarea
id: background
attributes:
label: 1. 概述
description: 说明提案的背景、动机、目标等。
value: |
#### 1.1 简介
1~2段简介概括,说明本提案的核心目标、解决的问题、核心价值,无冗余技术细节。
根据本提案的上下文背景信息,概括相关的使用场景或用例、当前痛点(可附具体用户案例支撑)、说明本提案的必要性、用户价值、不做此提案的影响。
要达成的目标、非目标(即边界说明,明确哪些问题不在本次讨论或实现范围内,防止需求蔓延)。
placeholder: |
validations:
required: true
- type: textarea
id: usecase
attributes:
label: 2. 用例分析
description: 针对本提案的各场景用例,描述其主要包含哪些功能点、要实现的关键性能指标、安全隐私以及DFX(兼容性、可维护性、可测试性、可靠性...)要求等。若涉及,还可以包括使用限制、约束和要求等信息。
value: |
用例分析。
placeholder: |
validations:
required: true
- type: textarea
id: design_details
attributes:
label: 3. 方案设计
description: 描述总体方案设计,DFX设计,编程与调用设计(编程模型、接口定义、使用说明)等内容。
value: |
#### 3.1 总体方案
根据本提案的场景用例及功能特点,阐述整体设计思路、技术方案、核心逻辑,可包括选择什么软/硬件平台、操作系统、编程模型、使用什么算法,系统架构如何布局,UI如何呈现等。
根据实现方案的复杂度,可选择采用自然语言,并结合架构图、时序图、活动图或状态机(算法)等适合的方式来辅助设计。
结合场景用例分析结果,对本提案的相关功能及性能指标影响展开设计,如功能的实现方案、运行的核心流程(文字描述或流程图)、数据模型定义或变更(若设计)、影响范围等。
列出考虑过但放弃的其他方案,给出优劣对比,说明不选择的理由。
结合场景用例,对本提案所涉及的安全隐私及DFX(兼容性、可维护性、可测试性、可靠性...)等属性影响进行设计。
若本提案相关特性/功能组件/模块等支持被开发者集成调用(二次开发),则需要提供便捷易用的编程与调用能力。要站在开发者如何进行编程开发、接口调用及系统集成的使用方式上,给出相应的编程模型定义和设计,包括各要素的可获取方式和途径。
开发者在使用本特性/模块时候需要关注的编程模型,比如使用的软硬件环境,编程语言等。
开发环境设计:明确好开发者使用的软/硬件环境、开发&调试工具链、编程框架、要提供的加速库或算子等。
开发约束:开发者使用过程中的约束和限制说明,如硬件平台、编程语言限制等。
可验收设计:提供相应功能、性能指标等的验收环境、标准或用例设计,保证最终的实现可达成既定目标。
给出相关组件/模块被集成调用的API定义或变更、对接上下游主流生态技术栈的适配方案、提供功能被使用或集成的参考代码或方法等。
* *接口描述:xxx*
* *接口原型:xxx*
* *输入/输出参数:*
| 参数名称 | 输入/输出 | 类型 | 描述 | 取值范围 |
| --- | --- | --- | --- | --- |
| | | | | |
* *异常处理:xxx*
* *约束说明:xxx*
* *变更说明:xxx*
* *调用参考代码:xxx*
*...*
1. 介绍该功能如何使用,比如:对配置参数需要补充参数说明;
2. 使用约束和限制,比如:该特性与其它某特性不可同时使用。
placeholder: |
validations:
required: true
- type: textarea
id: test_plan
attributes:
label: 4. 测试设计
description: 介绍该功能的测试方法以及测试用例设计,包括单元测试(unit test),集成测试(integration test),端到端测试(e2e test)等。
value: |
测试设计。
placeholder: |
validations:
required: true
- type: textarea
id: drawbacks
attributes:
label: 5. 缺点与风险 (可选)
description:
说明潜在风险(Breaking Change、性能回退、复杂度提升、引入的安全问题)、负面影响(对现有功能/用户的冲击)、实现成本(代码量/维护成本/人力投入)、是否有API或版本兼容性、旧版本迁移方案问题等,给出应对措施。
placeholder: |
value: |
- type: textarea
id: alternatives
attributes:
label: 6. 现有技术 (可选)
description: 参考其它项目/社区的类似设计,说明借鉴与差异。
placeholder: |
value: |
- type: textarea
id: unresolved_questions
attributes:
label: 7. 未解决问题 (可选)
description: 待社区讨论/决策的开放问题,如硬件适配范围、参数默认值等(需在RFC通过前解决)。
placeholder: |
value: |