NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

React 采用新的 RFC 流程

  • 2017-12-18
  • 本文字数:1043 字

    阅读完需:约 3 分钟

Facebook 已经决定采用一种新的征求意见(Request for Comments,RFC)流程,来帮助指导 React 的设计,同时使从想法到实现的过程更加顺利。

新的流程要求,对于 React 的重大变更需要在开发工作开始前经过一个审核流程。这些重大变更包括:

  • 新增功能,这项功能会创建新的 API 模块并且如果引入该功能会需要一个 feature flag(feature flags 是软件开发的一种最佳实践,通过 feature flag,你可以控制一个功能的完整生命周期)。
  • 删除功能,这项功能已经作为发布渠道的一部分进行了交付。
  • 引入新的惯用做法或约定,即使这些并不包含对 React 本身的代码修改。

上述列表引自 RFC 流程的 README 文档

作为流程的一部分,开发者需要创建一个 RFC 文档,向 RFC 仓库提交一个 pull request,然后将社区的反馈包含在提案中。是否接受这个 RFC,由 React 核心团队做最终决定。

这似乎是 React 项目曾经采用的非正式的惯用流程的正规化。一个 GitHub 上的 React 项目的调查显示,有许多 issue 都是开始于伴随不同层次讨论的 RFC。

Facebook 将 Rust RFC 流程作为他们流程的灵感来源,因此两者的 RFC 主页有许多相同的内容和步骤。当然, RFC 并不新鲜,它们是互联网工程任务组(Internet Engineering Task Force,IETF)完成的许多工作的基础。

Juan Pablo Buritica 说,开源项目使用 RFC 流程的好处之一是人们更有融入感:

我从未发现,有比让人们参与决策更好的方法,来让人们获得团队归属感。如果我们参与重要的决定,我们的工作可能会更有影响力,而这也让我们更有工作的动力。通过给予团队成员机会去评论其他人提出的决策,RFC 成为增强团队融入感和成员参与度的非常好的工具,而这也会形成工作中的影响力。

RFC 流程会为开源项目维护人和想要为开源项目做贡献的人都节省时间。对一个代码库做了一个大型的改动,然后提交了一个 pull request,却只是被代码维护人拒绝,这完全是浪费时间。Jeff Geerling 说,没有经过讨论的大型改动是他拒绝许多 pull request 的原因之一:

我曾经收到过一些将整个项目架构或测试架构替换了的 PR。我不会合并像这样的 PR,除非这个 PR 已经先在一个 issue 中被彻底地讨论过(并经过了核准)。通常,事出必有因(事实上,原因还不止一个)。

目前 RFC 中的文档列表包括一些由React 核心团队成员撰写的文档。

查看英文原文: React Adopts RFC Process


感谢罗远航对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-12-18 18:004136

评论

发布
暂无评论
发现更多内容

Luminar Neo 中文破解版:mac电脑强大的ai修图软件

mac大玩家j

Mac软件 照片修改工具 照片管理软件

AI Native工程化:百度App AI互动技术实践

百度Geek说

人工智能 大数据 12 月 PK 榜 Prompt

深度解析英特尔,以全方位产品技术创新,助大语言模型应用落地

E科讯

Ubuntu系统如何启动、停止或重启服务。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 云服务器

GLTF vs FBX:应该使用哪种格式?

3D建模设计

3D渲染 材质纹理贴图

测试开发 | 语言助手技术的发展历程

测吧(北京)科技有限公司

测试

2023年度技术卓越奖名单揭晓,天翼云TeleDB数据库荣誉上榜

编程猫

电池最大充电限制软件分享:AlDente Pro 激活中文最新版

胖墩儿不胖y

Mac软件 电池管理工具 电池充电管理

一键在线获取APP公钥、包名、签名及备案信息方法介绍

Geek_66e2f3

轻应用市场兵分小程序快应用两路,熟好熟坏?

Onegun

小程序 小程序容器 轻应用 快应用

大厂面试题集合之阿里一面[1]

派大星

Java 面试题

微软官方发布的C#开源、免费、实用的Windows工具箱

EquatorCoco

C# 微软 编程语言 windows

苏宁易购商品详情API:电商实时数据

Noah

GLTF模型为什么越来越流行?

3D建模设计

3D渲染 材质纹理贴图

测试开发 | 智能系统在能源管理中的优化

测吧(北京)科技有限公司

测试

高级数据库数据安全保障方法就是使用靠谱的工具!

行云管家

数据库 数字化 数据安全 数据安全运维

一套分布式IM即时通讯系统的技术选型和架构设计

JackJiang

网络编程 即时通讯 IM

软件测试/测试开发|Python selenium CSS定位方法详解

霍格沃兹测试开发学社

聚焦“工程师文化”,TDengine 创始人陶建辉在 TOP100Summit 上发表演讲

TDengine

tdengine 时序数据库

深度解析阿里巴巴API,关键字搜索和商品详情接口

tbapi

阿里巴巴API接口 阿里巴巴商品列表数据接口 阿里巴巴商品详情接口 阿里巴巴数据采集 阿里巴巴商品数据API

AI原生企业级Agent构建平台具备哪些特性?一篇文章看明白

王吉伟频道

生成式AI AI Agent AI智能体 数据飞轮 Agent构建

2024深圳国际微波毫米波科技成果及产品展览会

吹吹晚风

2024上海国际化学分析仪器及实验室设备展览会

吹吹晚风

3D模型如何制作透明玻璃材质

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

打造高效用户旅程:埋点分析系统的实操指南

ClkLog

开源 埋点分析系统

火山引擎ByteHouse基于云原生架构的实时导入探索与实践

字节跳动数据平台

数据库 大数据 云原生

写给测试同学的福利 | 招募

优测云服务平台

测试 体验官 测试体验官

软件测试/测试开发|一文详解Linux grep命令

霍格沃兹测试开发学社

软件测试/测试开发|测试用例设计方法——边界值

霍格沃兹测试开发学社

营销科学AIA:汽车企业坚定长期主义的秘密武器

新消费日报

3D材质编辑器

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

React采用新的RFC流程_JavaScript_David Iffland_InfoQ精选文章