Yak Shaving
2024-07-08
Yak Shaving (薅牛毛),是指在一开始想做一件事情,但随着分支任务的不断拓展,不断有新的事情冒出来,不断地执行深度优先操作,直到离自己当初要做的事情很远,以至于发现自己在给牦牛剃毛(代表一种毫不相关的事情)。其实这更偏向于一个贬义词,指自己不能把精力放在当下这件事情上,而是不断地分心去做一些看似无关的事。
但是,我感觉这更应该是一个中性词,如果把他当做一种工具的话,不同的人使用起来可以凭自己的主观意志发挥不同的效用。
例如托尼通过创造自己的“牦牛地图”最终让自己成为了一名 Vue 社区的开源达人:
对我来说,最初遇到 vue 社区的过程其实就是如托尼所说的一系列 Yak Shaving 步骤:
- 我想要写一个博客
- 寻找好用的静态页面生成器
- 找到了 vitepress
- 觉得在 vitepress 里写博客的风格略有瑕疵
- 自己给 vitepress 提 feature pr
- 发现 Anthony Fu 当时正积极把 Shiki 引入 vitepress
- 开始看托尼的博客,并进一步了解 vue community 与 open source
虽然这段时间在 github 上也写过一段时间 blog,但最终还是因为折腾的步骤太多,结果把 repo 写了又删,删了又写,以至于现在也还是没有一个用来写博客的 repo,并且也懒得折腾了,于是选择在语雀这里沉淀内容😂
尽管这段折腾的过程对写博客这件事来说似乎确实没什么帮助,但从另一个角度来说,让我开始认识了托尼老师,看到了 vue 这个社区,以及思考开源之于我到底是什么,至少从这些过程上来说还是挺不错的。
其实托尼老师在 VueConf 2024 上也表达过的类似观点:正是这些薅牛毛的过程,不断编织成一张牦牛地图,获得新的 IDEA,以至于自己最后成为 vue 社区的一员,这和当初开发 BreakSplit 的初衷相差甚远,要说是完全偏离了初衷也行,但成就了新的自己是不是也是一个解呢,或许也是吧。
薅牛毛这一行为的好坏还真不好定义,每个人可能都有不同的理解,那就尽可能让自己给它赋予一个积极的意义,让薅牛毛这一行为成为激发自己 IDEA、拓展自己能力边界的途径,而不是狭义的把它认为是一个分散自己注意力的行为。