新闻 本站已迁移到 Astro + Fuwari 主题 文章 全站共 5 篇原创,持续更新中 浏览 欢迎在文章下方留言交流 RSS 订阅 /rss.xml 获取更新 关于 前端工程 / 设计系统 / 随笔 提示 评论由 Waline 驱动,数据存放在自己的数据库 新闻 本站已迁移到 Astro + Fuwari 主题 文章 全站共 5 篇原创,持续更新中 浏览 欢迎在文章下方留言交流 RSS 订阅 /rss.xml 获取更新 关于 前端工程 / 设计系统 / 随笔 提示 评论由 Waline 驱动,数据存放在自己的数据库
848 字
4 分钟
关于「完成」这件事
2025-12-11

我有个项目,从 2023 年开始做,到现在还没做完。

它不复杂,甚至可以说很简单:一个给自己用的读书笔记工具。需求是我自己写的,一共三页。第一页是”核心功能”,只有四条。

两年过去,那四条需求一条都没变,但我一次都没把它跑起来过。

它一直卡在”差一点”#

第一版做完的时候,我发现搜索的排序不太对。改排序花了三个周末,改完之后觉得界面太丑,又重做了界面。

界面做完,发现移动端体验不好,于是重新设计了响应式。响应式搞定,又觉得数据模型有问题,把存储层整个换了一遍。

换完之后,第一版的排序逻辑不能用了,得重写。

我没有意识到,自己一直在做同一件事:在接近完成的时候,找到一个新问题,然后回到起点。

“完成”意味着暴露#

后来我明白了,我不是在追求质量,我是在逃避”完成”。

因为完成意味着交付,交付意味着被评判。哪怕这个项目只有我一个用户,我也要面对一个事实:它做完了,就这样了。

而”差一点完成”是一个完美的位置。它既有进展感,又不需要面对结果。你可以一直说”还在做”,永远不用回答”做得怎么样”。

配图占位 · 3:2 · 写满批注的需求文档

一个粗糙的截止日期#

去年冬天我给自己定了个规则:元旦之前,不管什么状态,必须能用。

规则里有一条很关键——不许加需求,只许删。

于是我做的事变成了:搜索排序不准?那就先按时间排。界面丑?那就用默认样式。移动端不好?那就先只支持桌面。

结果那个版本,我在两周内做完了。它很粗糙,但我每天都在用。

用了一个月之后,我发现真正需要改的地方和我原来想的完全不一样:我以为需要更聪明的搜索,实际上我需要的是更好的输入方式——因为记笔记的时候,我常常在地铁上,一只手拿着手机。

这个问题,在项目”差一点完成”的两年里,我一次都没发现。

完成是一种信息#

现在我会跟人说:完成的价值不在于”有了一个成品”,而在于它开始产生信息。

没完成的系统,你对它的所有判断都是猜测。完成的系统,哪怕很粗糙,也会立刻告诉你哪里真的不对。

这个道理听起来很朴素,但执行起来很难。因为”再改一下”的诱惑是持续的,而”就这样吧”需要一次具体的决定。

最后#

那个项目现在还在用,界面依然很丑。

我偶尔会想改,但每次打开代码,都会先问自己一句:这个问题,是我在用的时候真的遇到了,还是我只是觉得它不够好?

大部分时候,答案是后者。然后我就关掉编辑器,去读书了。

关于「完成」这件事
https://lumen-blog-3iq.pages.dev/posts/on-finishing-things/
作者
Lumen
发布于
2025-12-11
许可协议
CC BY-NC-SA 4.0
评论

评论还没接上

在项目根目录的 .env 里加上 PUBLIC_WALINE_SERVER_URL=你的 Waline 地址,重新构建即可启用。

怎么部署 Waline
目录
1
它一直卡在”差一点”
2
“完成”意味着暴露
3
一个粗糙的截止日期
4
完成是一种信息
5
最后
站点统计
文章 5
分类 3
标签 7
总字数 4949
最后活动 03/04
运行天数 1032 天
欢迎来到Lumen!

这里记录前端工程、设计系统,以及一些与技术无关的观察。慢慢看,不着急。