POST

关于「先做出来,再做好」

个人感悟 #工程 #随笔

这个站最开始的时候,我在首页塞了一个 FEATURED 主卡,逻辑写得很随意:

1
if (!featuredPost && postsArr.length) { featuredPost = postsArr[0] }

意思是——没有任何文章标了精选,就取最新那一篇顶上。写的时候觉得没问题,反正最新的一般就是最好的。

它是怎么坏的

后来我在后台发了一篇测试文章,标题叫「11」,正文也是「11」,发完就忘了。第二天打开首页,首屏最大的一块,原本该是内容门面的地方,端端正正放着这篇「11」。

比空着更糟。空着至少知道是空的;「11」看起来像是认真的内容,点进去却什么都没有。

我当时的判断错了什么

我把「最新」当成了「最好」。这两个词在大多数时候重合,所以问题不会立刻暴露;但它们不是一回事,只是在数据量小的时候看起来像一回事。

真正该问的不是”哪篇最新”,而是”哪篇配得上占这个位置”。想清楚这个之后,改起来反而很简单——主卡要有内容才配上,正文是空的、或者正文只是把标题又敲了一遍的,一律不参与竞争。

顺手带出来的另一个问题

改这段的时候,顺手量了一下另外几篇:一篇七个字的短文(「我要环游世界。」)以前能进主卡,现在进不去了,因为主卡的门槛比列表高。但它仍然该出现在「最新文字」列表里——它是一篇写完了的文章,不是空壳。

同一把尺子量所有东西,往往会挡住不该挡的。有些规则得分开写。

现在的状态

首页主卡会挑一篇正文够长的;「最新文字」只排除了真正的空壳。测试那篇「11」后来进了回收站。


这件事给我印象最深的不是 bug 本身,而是它藏了多久。如果我没正好打开首页,它会一直在那——构建是成功的,页面是正常的,测试是全绿的。问题只在”看一眼实际长什么样”的时候才会暴露。

代码不骗人,但它也不会主动告诉你它漏了什么。


关于「先做出来,再做好」
https://www.040925.xyz/2026/10/18/empty-card-and-latest-post/
作者
hanyaoyu
发布于
2026年10月18日
许可协议

← 回到首页