写点什么

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

评论

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

Go-Excelize API源码阅读(十二)——SetSheetVisible(sheet string, visible bool)

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

都说MySQL单表不要超过2000W行,这是真的吗?

Java全栈架构师

Java MySQL 数据库 程序员 面试

Java基础之Java枚举

自然

Java core 8月月更

Java基础知识(一些需要注意的点)

自然

基础 8月月更

每日一R「08」类型系统(二)

Samson

8月月更 ​Rust

STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)

DS小龙哥

8月月更

Redis分布式锁-觉悟吧,红锁!

知识浅谈

redis分布式锁 8月月更

面试突击:SpringBoot 有几种读取配置文件的方法?

Java编程日记

Java Spring Boot java程序员 java面试 面试突击

Web3 结算协议 Zebec Protocol 的商业模式与发展前景一览

BlockChain先知

RocketMQ高可用设计之消息发送重试

急需上岸的小谢

8月月更

小菜鸟河北联通上岗培训随笔二

乌龟哥哥

8月月更

面试突击75:SpringBoot 有几种读取配置文件的方法?

王磊

Java 常见面试题

元宇宙系统源码——测试方案

开源直播系统源码

软件测试 软件开发 元宇宙

不是吧,还有人不知道三目运算符的BUG

自然

基础 8月日更 8月月更

docker下,极速搭建spark集群(含hdfs集群)

程序员欣宸

spark 8月月更

开源一夏 | 使用 Three.js 实现"雪糕"地球,让地球也凉爽一夏

战场小包

JavaScript 开源 前端 3D ThreeJS

要相信自己可以解决问题

FunTester

Web3 结算协议 Zebec Protocol 的商业模式与发展前景一览

鳄鱼视界

【云原生】SpringCloud Alibaba 之 Nacos注册中心实战

Bug终结者

Java 分布式 SpringCloud 8月月更

干货|语义网、Web3.0、Web3、元宇宙这些概念还傻傻分不清楚?(下)

Orillusion

WebGL 元宇宙 Metaverse webgpu #开源

Java性能优化的七个方向

小柴说Java

编程 JVM Java性能调优 Java性能优化

[极致用户体验] 用户体验好的 Button,在手机上不应该有 Hover 态

HullQin

CSS JavaScript html 前端 8月月更

加码企业服务,阿里云发布计算巢加速器

阿里云弹性计算

PaaS 企业服务 计算巢 ISV

App切换到后台后如何保持持续定位?

HarmonyOS SDK

再见MybatisPlus,阿里推出新ORM框架!

TimeFriends

8月月更

京东商品获取优惠券API接口-京东优惠券如何获取-京东联盟API接口

江苏京酷电子商务有限公司

json API 京东商城

a豆14 Pro高性能高颜笔记本,新潮配色助力打造a豆AIoT智能生态圈

科技热闻

CAT认证敏捷团队教练工作坊 (Coaching Agile Teams) | 9月24日开课

ShineScrum

敏捷教练 专业教练 团队教练 GROW Model

华硕a豆召开智能生态发布会,软硬兼施解锁智能新生活

科技热闻

计算机网络(一、概述)

计算机网络 8月月更

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