AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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:004580

评论

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

【DS】二叉树大总结!

安苒

数据结构 二叉树

经验分享|如何做好FAQ设计

Baklib

Wallys/DR7915-wifi6-MT7915-MT7975-2T2R-support-OpenWRT-802.11AX-supporting-MiniPCIe-Module//QCA9882/QCA9880

wallys-wifi6

QCA9882 MT7915

Java Stream中map、flatMap 的使用区别

zarmnosaj

10月月更

降低成本,快速搭建企业知识库的方法盘点

Baklib

知识库

企业存储难题难以解决?不如试试华为云OBS对象存储服务

爱科技的水月

“程”风破浪的开发者|微信小程序逆地址解析

江拥羡橙

微信小程序 学习方法 uniapp 腾讯地图 “程”风破浪的开发者

传统制造业数字化转型路径与实践

宇宙之一粟

数字化转型 制造业 10月月更

CSS基础4

虾仁疙瘩汤

CSS css3 10月月更

03 详细架构设计

神奇的叶叔叔

华为云帮助企业做好核心数据灾备,为企业数据安全与稳定发展提供保障

爱尚科技

华为云数据灾备全场景应用方案,为企业数据安全护航

爱尚科技

设计师高效办公必备神器-呆猫云工作站

爱科技的水月

怎么制作一份能够帮助客户的帮助文档呢?

Baklib

帮助文档

构建超级自动化平台成为战略技术趋势——Gartner:可观测性应用将成为数据驱动型决策的最强大来源

九科Ninetech

RPA 流程挖掘 数智化转型

华为云CDN加速服务,如何让你的网速“飞”起来!

秃头也爱科技

【Java SE】Java程序的运行详解

安苒

Java

华为云CDN加速,如何助力企业信息化转型?

秃头也爱科技

华为云CDN加速,如何为中小企业创新发展效力?

秃头也爱科技

“程”风破浪的开发者|总结巧用CSS实现各种效果的「百计千谋」

叶一一

CSS 学习方法 前端 “程”风破浪的开发者

建立客户忠诚,从编辑产品帮助文档开始!

Baklib

帮助文档 客户忠诚

千锋郑州第八届“千锋杯”联合项目大赛圆满落幕

千锋IT教育

华为云CDN为什么成为企业首选?四大优势助力企业腾飞!

秃头也爱科技

css学习

codingyt

CSS 10月月更

“程”风破浪的开发者 | 元宇宙就是“虚晃一枪”?

三掌柜

1024 1024程序员节 元宇宙 “程”风破浪的开发者

flex容器布局

codingyt

CSS Flex 10月月更

华为云大数据BI,便捷高效的大数据解决方案,助力企业数字化运营

爱科技的水月

华为云对象存储服务OBS,海量存储安全可靠,让云存储更加简单

爱科技的水月

全嘉宾阵容官宣 | 2022 云原生峰会即将启动,实战派企业向你发出邀请

阿里巴巴云原生

阿里云 云原生 峰会

微信小程序部署流程

codingyt

10月月更

【Java SE】java中变量和表达式计算的相关问题

安苒

Java

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