快优于慢

Lobsters Hottest 新闻

摘要

一篇博客文章,主张软件开发中的速度能带来更好的学习和决策,并提供实用建议,如避免拖延和尽早分享工作。

<p><a href="https://lobste.rs/s/o2ylrh/fast_is_better_than_slow">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/05/27 03:27

# 快比慢好 来源: https://dubroy.com/blog/fast-is-better-than-slow/ 发布时间: 2026年5月23日 > 别问为什么。快就是比慢好。事实就是如此。你的任务就是把已经能做的事情做得更快。如果你能接受"快本质上比慢好"这个理念,你已经成功了一半。如果你能让整支团队都接受这个理念,你们就会赢下很多比赛。在所有条件相同的情况下,如果我能用一脚触球把球从A点传到B点,那它就比两脚触球更好。为什么?因为一脚比两脚快,而快就是比慢好。 — Dan Blank,《球商》(Soccer IQ) (https://soccerpoet.com/product/store/Paperbacks/) 大约十年前,我意识到我合作过的最优秀的程序员都有一个共同点:他们**快**。我的意思是他们行动迅速:我们讨论一个问题,一两个小时之后,他们就已经准备好补丁或者能展示原型了。 过了一段时间,我终于明白:他们之所以快,并不是因为他们优秀;他们之所以优秀,恰恰是因为他们快。 想想看——如果你快,你就能更快地获得数据。这能帮助你更快地做出更好的决策。也意味着你学得更快,长期来看,你学到的东西也**更多**。快还意味着你可以针对一个问题尝试多种方法,然后选出最好的那个。 很多人对此持反对意见,因为这听起来像"奋斗文化"。但有很多方法可以在不加班的情况下加快速度。Jamie Brandon写了两篇关于这个话题的精彩文章:[速度很重要](https://www.scattered-thoughts.net/writing/speed-matters/) 和 [加速前进](https://www.scattered-thoughts.net/writing/moving-faster/)。如果你还没读过,建议去读一读。 我也有自己的一些建议——这些建议更多是关于**软件工程师工作的真实状态**,而不仅仅是编码本身。有点不好意思承认,和Jamie不同,这些道理我花了十多年才学会。 **不要拖延。** 这是很重要的一点。我和很多习惯性慢慢吞吞的人共事过。他们下午4点了解到一个问题,然后决定明天再处理。或者下周,甚至下个季度。 我认为这往往是为了逃避不适感。开始做事情很难:你常常不清楚具体需要做什么,或者从何下手。相信等待会让事情变容易,这让人感到安慰,但根据我的经验,很少会这样。 **利用小块时间。** 有些程序员深信他们需要长时间、不被打断的工作才能做成任何事情。正如我在[小步推进](https://dubroy.com/blog/getting-things-done-in-small-increments/) 中所写的,我认为这更多是一种偏好,而非硬性限制。大多数人如果尝试,都能在这方面做得更好。 收获可能会出人意料地大。在很多公司,你运气好的话每天可能只有一段连续3-4小时的工作时间。假设你还有一两个小时的会议——那仍然有25-35%的时间被碎片化浪费了。如果你用那段时间来高效工作,而不是看邮件或刷Hacker News,你就能完成更多事情。 **别怕显得蠢。** 你可能已经知道应该尽早并频繁地分享你的工作。但这让人不舒服,所以很容易拖延,同时用"我对质量要求很高"这样的话来安慰自己。 如果你学会克服这种不适,你就能更快拿到结果。Oliver Burkeman谈到了[70%法则](https://ckarchive.com/b/wvu2hghk5m82zf9r552rqtn34kzxxc8): > 如果你对你写出的作品有大约70%的满意度,就应该发布它。如果你对自己创造的产品有70%的满意度,就推出它。……在70%的时候向前推进,比坚持到100%需要更多的勇气和性格力量,因为这需要在不确定、焦虑以及将不完美的作品公之于众的不适感中前行。 PR也是如此。别浪费时间打磨代码,期望评审者找不到任何问题——现在就提交并接受反馈。评审通过且没有评论并不会给你加分。 另一种加快速度(同时可能显得蠢)的方法是向同事寻求建议。我见过很多开发者似乎认为他们必须自己搞定一切。但软件开发是团队运动——不要强迫自己单打独斗。 **选好战场。** 在协作中,不要在无关紧要的细节上浪费时间。如果你的PR评审者要求你改动某些内容,按照他们的要求做几乎总是比争论更快。95%的情况下,差异如此微小,根本不值得讨论。把你的时间和精力留给那5%真正重要的事情。 同样,当你做评审时——不要在不重要的事情上浪费时间。我绝对**不是**说你应该对一切照单全收;我经常留下评论,建议更好的命名或其他做法,但把最终决定权交给作者。我认为我至少50%的评审是"LGTM但有注释"——在我看来,这既能获得代码评审的大部分好处,又不会占用太多时间(无论是你还是你的队友)。 **只做要求的。** 在我早期的一次实习中,团队负责人给了我一条建议:"当别人让你做某事时,只做最低限度要求的。如果你能始终如一地做到这一点,所有人都会觉得你是天才。"当时我觉得这很 cynical;但多年下来,我意识到这有多么智慧。 如果你试图"超越预期",你几乎总是在猜测——猜测别人想要什么,或者系统将来需要什么。而经验越不足,猜错的可能性就越大。 要想更快,就不要浪费时间做别人没要求的事情。 *别问为什么。快就是比慢好。事实就是如此。你的任务就是把已经能做的事情做得更快。*

相似文章

为变更优化,而非应用性能

Hacker News Top

本文指出,软件团队常常过度优化微性能基准测试,却牺牲了开发者体验和工程吞吐量,而这两者才是长期交付速度与可维护性的真正瓶颈。

AI时代的原型开发速度

Hacker News Top

一位开发者讨论了AI如何大幅提升了他的原型开发速度,使他能够快速创建多个可运行的项目。他还指出,工程思维正转向抽象规范。

有些事情急不得

Armin Ronacher

一篇反思性文章,论证在软件和商业领域,真正的成功需要的不仅仅是速度,更是韧性和耐心,并警告说,对即时满足的痴迷会破坏信任和长期价值。