阅读 829

不能因为你没有新产出,就意味着你没有提供价值

昨天翻译了React团队圣诞特辑的一篇文章《一起走进React核心团队》。

文章是好文章,能一窥大厂顶级开源项目团队的日常。细读后发现,从文章隐隐透露出作者:

心情低落 —— 尝试开解自己 —— 开解成功后

的心路历程。

尤其是文末最后一句话:

这意味着要有信念,不能因为你没有新的特性产出,就意味着你没有提供价值。

不管是大漂亮国的资本主义码农,还是我这样的北漂渣渣码农,在这个快速成长的行业,内心都是很有压力的吧?

又是没有提供价值的一天

前段时间有朋友给《React技术揭秘》提了PR关于effectList 单向链表的使用已经被react废弃掉了

昨天抽出时间决定去看看源码里effectList为啥废弃了。

首先找到对应PR

再拉取最新的代码,奇怪的是这次改动在main分支是不存在的。

blame后发现,由于废弃effectList后造成未知原因的性能指标下降,在如下PR中又重置回之前的代码了。

你看,一来一去,Andrew老兄又是好几个没有提供价值的日日夜夜。

按正常节奏去做,本身就是价值

接下来是灌鸡汤时间。

在《一起走进React核心团队》一文中,作者提到两个点:

  • React团队在18年曾和prepack团队合作,寻求组件编译时性能优化的方案。

  • React团队在15年尝试过通过worker线程分案虚拟DOM计算压力。

这两项尝试,都失败了。

但是,他们为Server Components的出现提供了思路。

再谈谈我个人微薄的体会:

我的KPI有一项是对项目性能优化。

当常规优化手段都试验过后,我开始从项目使用的前端框架Anu下手。

Anu是司徒正美老师开发的类React框架,我们团队从去年开始维护

React中,mount时会先构建一整棵离屏DOM树,再一次性插入页面。

而在Anu中,没有区分mountupdate。这意味着首屏渲染时会遍历,并对页面中的DOM执行appendChild

我们都知道,在各种《性能优化指南中》,都强调:使用离屏DOM,减少页面中的DOM操作,可以提高性能。

于是,在将Anu渲染流程调整到和React一样后,我惊喜的发现:性能指标没啥变化。

又是愉快的没有创造价值的一天。

不过,有了这次经历,对Anu的整体架构更熟练了,后来我又尝试为Anu加上Time Slice

现在,已经在愉快的跑React单测了。

喝完鸡汤擦嘴

很多事情都是这样,按正常节奏去做,本身就是价值。

我做了这么多年前端,感觉自己还是好坑啊。于是去年的某一天,决定学了新东西后就写写学习笔记。

每周抽出时间写一篇文章,这不难吧?断断续续半年过去了,居然凑出一本电子书React技术揭秘,反响还不错。

所以,朋友们,有想法,就去做,做事情本身就是创造价值,他会在未来某一天回馈你的。

毕竟不做怎么知道,涨再多工资也买不起房