最近一直在优化紫塞网。

首页有一张大图,展示承德的山水。把它放在那里,是希望访问者打开网站时,先感受到一点这座城市的气息。

但图片也带来了一个问题:加载耗时,在页面打开的时间里占了不小的比例。

于是,压缩图片、调整尺寸、研究加载方式。一项项试,一点点改,总想着在保留画面效果的同时,让页面再快一些。

今天早上,忽然冒出一个念头:为什么不去掉呢?

这并不意味着我决定删掉这张图。它有它的作用,是否保留,还可以继续考虑。只是这个念头让我意识到,前些天的思考,始终有一个没有被讨论过的前提:这张图必须在这里。

我一直在想如何优化它,却没有再问,它是不是必要的。

熟悉的做法,也会成为默认的前提

这样的事情,在工作中并不少见。

一个流程运行久了,遇到问题,便补一条规定;规定执行得不好,再增加一道检查。每一次调整都有理由,单独看,也都在解决问题。可过一段时间回头看,流程越来越长,参与的人越来越多,最初要办的那件事,反而不那么清楚了。

原来的安排未必不合理。很多做法在建立时,都有具体的背景,也确实发挥过作用。只是情况变了,做法留了下来。后来的人习惯了,制定它的人有时也习惯了。

比起重新判断它是否需要存在,继续完善它,往往更容易。

做技术多年,我对这种状态并不陌生。一个已经投入时间、反复打磨的方案,总会让人想再试一试。何况,眼前的问题通常足够具体:图片还能小一点,响应还能快一点,代码还能再改几行。动手就有事情可做,也能看到结果。

重新考虑方案,则要暂时放下已有的成果,回到更早的问题:我们究竟想达到什么目的?现在的做法,是否仍然合适?

经验可以帮助我们更快地解决问题,也可能让某些问题被过早地认定为已经有了答案。

持续改进,也需要重新判断方向

我由此想到渐进式改进,以及那些改变原有框架的尝试。

大多数日常工作,都离不开持续改进。网站的稳定、系统的可靠、经营中的细节,很少能靠一次灵光乍现完成。耐心修正、长期积累,本身就有价值。

但沿着一条路不断向前,也需要偶尔看看方向。尤其当投入越来越多,改善越来越有限时,除了问“还能怎么做得更好”,也可以问问“还有没有别的做法”。

这让我联想到新旧两条 S 曲线的接续:一条路径在早期可能进展很快,随着逐渐成熟,继续投入所带来的提升也会趋于有限。这时,沿原有路径深挖,与寻找另一条路径,就成了两种不同的选择。

困难在于,前一条路已经走得很熟,后一条路却可能连起点都不清楚。我们知道怎样把现有方案再改好一点,却未必知道新的可能在哪里。

如果目光始终停留在现有方案上,其他选择就很难进入视野。

一张图片的取舍,当然谈不上多大的创新。但它给了我一个很小、也很具体的提醒:已有的前提,同样可以重新讨论。

原先,我把问题理解为“怎样让这张图加载得更快”;现在,问题多了一层:“首页需要怎样呈现承德的气息,这张图在其中承担什么作用?”

技术上的优化仍然有意义,但判断的起点变了。我想,这也是一种重构:先重新理解问题,再决定怎样解决。

保留,也可以是一次新的选择

重新讨论,并不一定以删减告终。

考虑之后,也可能发现,这张图值得保留,甚至值得继续投入时间优化。因为页面打开的速度很重要,访问者最初感受到什么,同样有意义。两者如何取舍,要回到网站希望提供的体验中去判断。

只是那时的保留,是一次新的选择,而不只是延续过去的习惯。

到了这个年纪,经验积累了一些,习惯也积累了不少。处理事情更熟练了,却未必意味着看事情始终足够开阔。有些选择沿用至今,是因为仍然合适;有些则可能只是一直没有停下来想过。

做加法、做减法,渐进地调整,或者重新开始,都有各自适用的时候。难的是面对一件熟悉的事情,还愿意把那个看似已经确定的问题,再问一遍。

首页那张图,我还没有决定去留。

但今早再看它时,我已经不只是想着,怎样让它加载得更快了。