看了 Anthony Fu「 Yak Shaving 耗牛毛 」引发的思考

在技术学习、探索的过程中,我们常常会遇到「Yak Shaving」------一个看似无休止的任务链条,让我们不断偏离最初的目标。而我,曾经也是「Yak Shaving」的受害者,但随着经验的积累,我学会了如何利用这种现象,将其转化为创造价值的机会。

Yak Shaving 是什么?

Anthony Fu 在他的博客《关于 Yak Shaving》中描述了一个经典的 Yak Shaving 场景:

你想烤一个苹果派,走进厨房,发现墙上的油漆剥落了。 于是你去买油漆,路上看到一家面包店,停下来吃了个蛋糕。 在吃蛋糕时,发现牙疼,决定预约牙医。 在打开手机预约时,看到朋友的聚会通知,又决定去买一瓶酒......

最终,苹果派没有烤成,你却经历了一连串意想不到的任务。这在开发过程中也很常见,比如想写一篇博客,结果却造了个新的博客模板。

我的 Yak Shaving 之旅

我过去也常常掉入 Yak Shaving 的陷阱。最开始,我只是想写点技术博客记录自己学习的过程。然而,当我开始寻找合适的博客系统时,发现没有符合自己技术栈的 Astro 模板,大多数都以 React 或 Astro 结合的方式构建,而我更倾向于 Vue 生态。

然后,我注意到了 Anthony Fu 的个人网站,设计简洁,体验优秀,非常符合我的审美。于是,我决定改造他的博客网站,使其适配 Astro,并整理成一个开源模板 Vitesse theme for Astro

最终,我不仅解决了自己的问题,还顺手开源了这个项目,意外收获了 100 多颗 Star,也算是一个意外的「副产品」。

不过写了两篇,发现自己的博客并没有流量,所以还是换到了掘金上发表文章,正反馈好很多 :P

Yak Shaving 思考总结

Yak Shaving 往往被认为是低效的,甚至是拖延症的表现,但它也可以成为探索新技术和创造价值的驱动力。如何把握这个过程,不至于让自己迷失在无休止的任务链条中?

1. 发现问题,解决问题

与其空想一个"伟大"的开源项目,不如从自己的需求出发。当你真正需要一个工具时,你才会有最大的动力去实现它,同时你也最清楚它的痛点。

2. 控制范围,点到为止

Yak Shaving 最大的风险是无休止的探索,让自己偏离目标太远。因此,在发现一个新问题时,要问自己:"这个问题值得花时间解决吗?" 如果只是一个小问题,现有方案可以满足,那就不必造轮子。

3. 及时收敛,完善项目

如果 Yak Shaving 让你意外创造了一个有价值的项目,不如花点时间完善它,比如写个 README,整理文档,分享给社区。这样,你的努力不仅能帮助自己,也可能帮助更多的人。

相关推荐
福兮说8 分钟前
纯前端把图片压缩到指定体积:canvas.toBlob 配合二分查找
前端·javascript·canvas·图片处理
是立不是利13 分钟前
CSS 入门与进阶:从选择器到响应式布局的完整指南
前端·css
镭立智能制造19 分钟前
电线电缆换线频繁?MES系统如何缩短换线时间40%
前端·制造
️公子20 分钟前
DeepSeek V4.1 Flash 今日接管 Pro 流量:552B MoE + 非对称架构,Agent 推理成本怎么砍?
架构·开源·大模型·api·agent·deepseek
郝学胜-神的一滴1 小时前
C++20模板元编程 01:从零吃透模板核心底层逻辑
开发语言·c++·vscode·程序人生·开源
Amos_Web1 小时前
Rspack 源码解析(五):CodeGenerationPass 与模块代码生成
前端·前端框架·源码阅读
八荒启·交互动画1 小时前
Web特效06——WebGL深挖:顶点着色器和片元着色器到底在干什么
前端·网页特效·八荒启-交互动画·八荒启
GPUStack1 小时前
GPUStack 部署实战:8 卡 H20 跑通 GLM-5.3-Flash,解锁 512K 长上下文与多模态
人工智能·开源·github
这锅我不背哈1 小时前
前端权限控制实践:基于 RBAC 的完整落地方案
前端
sbjdhjd1 小时前
从兼容路由到任意方法调用:ThinkPHP 5.1.29 RCE 复现与调试复盘 | 06
经验分享·安全·网络安全·数据挖掘·开源·php·rce