产品最重要的一个特质就是简约(从简单,正确再到快速)

作者: 唐杰 分类: 阅读笔记 发布时间: 2018-07-15 20:36

做产品(网站、软件、小程序)很关键的一个特性,从“简单”开始,才能更好的检验和保证“正确”,然后才会有机会“快速”发展。

一款软件中最重要的一个特质就是简约。它比完成你设定的任务更重要。同时比性能还重要。原因很直接:如果你的解决方案不简单,它就可能会不正确和快速。

给你足够的时间,你会发现所有那些解决复杂的高效的软件都会有很多 bug 和性能问题。有 bug 的软件是不正确的。有性能问题的软件是低效的。这个问题就像我们面对死亡和税收一样,我们应该有针对性的做准备。那就先考虑正确性吧。

复杂的软件会出问题。简单的软件更容易让人理解,而且越不容易出问题:有更少的可移动模块,在你脑袋里不用记那么行代码,更少的边界用例。至少简单的软件也更容易被测试,更少的代码覆盖路径。当然简单的软件也会出问题,当出现问题的时候,原因和合适的解决方案通常会很明显。

现在考虑一下性能。当你开始的时候不会对瓶颈产生怀疑,你就应该在你的办法中考虑到。然而在你遇到性能问题时,你可能已经高估了某些东西。找到哪一部分慢的唯一办法就是测量。哪个更容易记录:复杂的程序还是简单的?任何一个人看过一大段代码就知道我说的是什么。

可能复杂的程序会一度解决问题。那个软件需要维护,今天表现正确不代表明天也没问题。负载会增加,或者要求会改变。软件是一个活的事物!当你因为你的第 1831 位用户推送了一比新交易到系统时,触发了系统边界,然后你不得不在星期四的早晨两点就起来处理问题,你认为你已经准备好处理这个你早在一年前看的复杂系统了吗?

当你面对这些问题的时候,你必须想出解决这个问题最简单的办法。这可能会有些困难:问题可能有点大,或许你在思考解决这个问题前就在考虑解决方案了。虽然它可能很困难,但是它是你最重要的工作。你需要把问题分解,识别更小的问题,粗暴的移除变量范围,直到你找到一个可行的解决方案。复杂的问题会随之而来,处理一个简单的解决方案可能比实施一个复杂的办法更好。

作者: Drew DeVault
译者: ekse
来源: https://drewdevault.com/2018/07/09/Simple-correct-fast.html

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

2 条评论
  • yoke

    2018年7月18日 17:41

    请问博主,你的.me域名现在在那个注册商,在狗爹续费有点贵啊,国内目前没找到能转入.me域名的

    1. 唐杰

      2018年7月19日 09:12

      我的就在 GoDaddy ,国内已经没有注册商了,因为国内已经不能备案了,注册商不做这个后缀域名了。
      贵几块钱无所谓,为这点钱折腾,不划算。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注