1、我每天通常会花 1-2 小时获取前端信息,但信息实在太多,比如关注库的 Release、业界新闻、Twitter List 信息、RSS 订阅、公众号、NewsLetter、群聊等,到处都在收割注意力,而我们的时间是有限的。
2、注意力是有限的,选择很重要,放弃也很重要。每个选择都有机会成本,这一个小时如果看了点价值有限的八卦新闻,就意味着放弃了更优质的信息。我们需要时刻决定看什么和不看什么,输入决定输出。
3、先看如何识别信息和知识。举几个例子,swc 作者加入 next.js 是信息,swc 如何接入 next.js 是知识;umi 发布 3.5 包含 MFSU 提速是信息,MFSU 提速原理是知识。信息容易上瘾,我经常刷着刷着一小时就过去了,然后非常懊悔,因为啥都没学到。所以多关注知识,少关注信息。
4、有人说「我每天学那么多前端,却为啥依旧写不好网页。」这就看信知比(信息知识的比例)了,如果比例是 8:2、9:1、10:0,看再多又有何用,而且那一点点的知识比可能还是「收藏即学会」的。我之前很长时间是 5:5 或 4:6 的状态,正在努力调到 2:8。
5、抛开信息后,前端知识点还有那么多,哪些重要?哪些优先学?哪些又没啥用?
6、哪些是死知识,比如 JavaScript 的作者是谁,垂直居中有多少中写法,Java 和 JavaScript 什么关系,Umi 读作五米还是乌米,MDH 是马大哈还是马德华,Event Listener 和 Event Handler 的区别等等,他们不是没用,而是用处不大,像人类的盲肠。
7、工作相关的知识优先学,学是为了用,不用光学太容易忘了,我深有体会。而具体学啥则因人而异,比如我现阶段主要关注框架、构建工具、工程化、数据流、路由等,其次关注性能、国际化、权限管理、埋点统计、Serverless、SSR 等,较少关注图形、低代码、动画、Node 框架、容器、K8S、编辑器等,这些离本职工作较远。
8、再把时间线拖长了看,基础和原理性的知识相比会更重要,他们具备更强的繁殖力。比如算法、设计规范、ECMAScript 规范、HTTP 原理、浏览器渲染机制、模块系统、Vue 和 React 的底层原理等,不管前端轮子造地多快,这些知识都很难过期,而且他们有延续性,还能引发思考。
9、相同的逻辑也可以用在文章、库、技术方向的选择上,比如判断文章,我通常会问问自己「三五年甚至更长时间后,这篇文章是否仍有价值?」
10、还有是「尽量选难的知识点」,越简单价值越小。一下就能学会得东西,价值也不会大,比如手写一个 sleep 函数相比手写一个 React,像是考试的基础题和拔分题。那难的知识点读不懂怎么办?硬着头皮读,反复多读,有毅力的人不多,所以更显得有价值。