琢磨出来的好程序
今天想喝咖啡了,到了家附近的星巴克,因疫情影响,该店只提供外卖不允许堂食。
唯一点单的办法是使用星巴克 App。
艰难的登陆
令人意外的是,作为一名 App 开发者,我竟然花了 10 多分钟才勉强成功登陆这个 App 。
登陆过程中遇到的问题就不展开说了,其中需要闯过的关卡包括:
- 即使手机验证码已通过,绑定星礼卡仍需重置密码并重新登陆
- 密码要求必须包含特殊字符和数字
- 重新登录需要进行邮箱验证
- 邮箱验证绑定之后需要重复一遍手机验证码登陆
在这个过程中,我打开手机邮箱多次,通过 LastPass 生成满足复杂度要求的密码,手机验证多次。
最后,还被提醒登陆尝试超过 10 次,被限制登陆。
万幸的是,凭借巨大的运气以及一点点实力,成功登陆了。
我不得不再一次告诉自己,虽然已经推出多年并且在去年进行过一次大的改版,星巴克这个应用依然极其难用。
怎样做得更好?
作为一名应用开发者,我需要思考为什么用户体验会这么糟糕。
于此同时,今天我在对「小小账」的汇率计算流程进行一次根本性的重构,目的是使汇率计算以及切换尽量正确。
我本以为这是一件很简单的事情,没想到居然花费了 5 个小时,推翻了 2 个方案,最终才达到一个比较满意的状态。
(本以为简单的重构,却提交了 21 个 commits,修改了接近 600 行代码)
在这个过程中,跟随自己代码的思路,思考每个细节是否合理,进行推敲、重建、推倒,然后退后一步看到结果,再反复,直到自己满意为止。
到现在,我几乎认为这是写程序、写作这类思维活动是追求完美的过程中不可避免的步骤。
遗憾的是,从结果来看,星巴克作为传统行业的大厂,并没有好好琢磨他们的应用。
Posted 2020-03-15