4 月 27 日,凌晨两点四十。我在香蕉行情网站1.12 的后台点了第 19 次刷新,榜单第十名的价格显示成 3.699999999。浮点数又错了。
那天下午老周给我打电话,说他用自己的手机看,榜单每次刷新的顺序都不一样。他以为是随机推荐。其实不是。是精度在抖。
我没解释太多。
挂了电话去翻数据库。
一个两年前写的排序字段,类型是 float,存的是两位小数。我当初想着价格不需要更精确,就没管。结果到了 1.12 这一版,加了一个按价格分档显示的模块,同一个值在三个地方被四舍五入,舍的方向还不一样。榜单看着像在跳,其实它一直在原地抖。
三处具体的小事
第一件是那根字段。我把 price_rank 从 float 改成了 integer,单位放大一百倍。写迁移脚本时手滑删了一个 WHERE,跑了 4 秒才发现。撤销用了 11 分钟。中间老周发了三条消息,我一条没回。
第二件是图片。1.12 的详情页原本要把三张图并排铺满,宽度写死 320。在 390 宽的屏幕上,第三张被挤到下一行,页脚整体上跳 42 像素。改了两次,最后干脆不做并排。一张图,占满,下面留白。比原来好看。
第三件,是关掉一个功能。
一个统计停留时长的埋点。
它每 5 秒往服务器打一次点,一天多出 8 万条无用的记录。数据没人在看,包括我。删掉之后,后台的响应从平均 380 毫秒降到 140 毫秒。这是 1.12 里我最满意的一处改动,因为它是减法。
做版本这件事,大部分时间不是在加东西。是在找回自己之前多加的那些东西,然后一个个拿掉。
这次整理后台时,翻出几个旧链接,一直挂着没清。比如那篇讲 1.yuese3962.cc.88 的旧记录,现在看内容已经过期,只留着当参照。还有一篇写 扁平头长什么样 的排版试验,当时为了确认字体基线对齐,我逐像素量了七种中文字。以及一次深夜整理,顺手记下的 国产欧美影片网站星辰 的栏目结构,和我当时想做的目录有点像。
这些东西现在没什么用了。但我没删。
留着不是念旧。是提醒自己,有些弯路走过一次就够,但得留下脚印,不然下次还会走。
为什么还是 1.12
有人问我,版本号为什么停在 1.12,不往上走。因为这一版里真正改完的东西,只有十二项。第 13 项是「让首页加载更快」,我试了三天,失败了,回滚。所以停在 12。
说实话,我不喜欢那种一次更新几十条改动日志的版本说明。看着热闹,其实一半是凑数。真正让用户感觉到的,一次能有两条就算多了。1.12 里能感觉到的只有两条:榜单顺序不再乱跳,详情页在手机上不再跳一下。剩下的十项,全是我自己跟自己较劲。
这话可能得罪人。
但我确实是这么想的。
一个网站的好坏,不看你加了多少,看你还敢不敢删。1.12 删掉的那个埋点,比之前加的三个新模块更让我踏实。前者是负担,后者是装饰。装饰可以有很多,负担一个都不能留。
那天收尾
4 月 27 日凌晨四点零七分,我把最后一处改动提交上去。旧的 float 字段留着没删,加了一行注释:勿用,见 1.12 迁移记录。
关掉电脑时窗外有点亮。楼下早市的第一车香蕉刚卸下来,塑料布掀开的声音我在六楼都听见了。
我站了一会儿。
然后去睡了。