琢磨出来的好程序

今天想喝咖啡了,到了家附近的星巴克,因疫情影响,该店只提供外卖不允许堂食。

唯一点单的办法是使用星巴克 App。

艰难的登陆

令人意外的是,作为一名 App 开发者,我竟然花了 10 多分钟才勉强成功登陆这个 App 。

登陆过程中遇到的问题就不展开说了,其中需要闯过的关卡包括:

  • 即使手机验证码已通过,绑定星礼卡仍需重置密码并重新登陆
  • 密码要求必须包含特殊字符和数字
  • 重新登录需要进行邮箱验证
  • 邮箱验证绑定之后需要重复一遍手机验证码登陆

在这个过程中,我打开手机邮箱多次,通过 LastPass 生成满足复杂度要求的密码,手机验证多次。

最后,还被提醒登陆尝试超过 10 次,被限制登陆。

万幸的是,凭借巨大的运气以及一点点实力,成功登陆了。

我不得不再一次告诉自己,虽然已经推出多年并且在去年进行过一次大的改版,星巴克这个应用依然极其难用。

怎样做得更好?

作为一名应用开发者,我需要思考为什么用户体验会这么糟糕。

于此同时,今天我在对「小小账」的汇率计算流程进行一次根本性的重构,目的是使汇率计算以及切换尽量正确。

我本以为这是一件很简单的事情,没想到居然花费了 5 个小时,推翻了 2 个方案,最终才达到一个比较满意的状态。

(本以为简单的重构,却提交了 21 个 commits,修改了接近 600 行代码)

在这个过程中,跟随自己代码的思路,思考每个细节是否合理,进行推敲、重建、推倒,然后退后一步看到结果,再反复,直到自己满意为止。

到现在,我几乎认为这是写程序、写作这类思维活动是追求完美的过程中不可避免的步骤。

遗憾的是,从结果来看,星巴克作为传统行业的大厂,并没有好好琢磨他们的应用。

Posted 2020-03-15

More writing at jakehao.com