开发人员:写代码时,你不只是在为终端用户创造用户体验(UX)。你的所有代码实际上都是用户体验。
我去的健身房刚刚搬到了新地方。在老地方时,他们配备了普通的会员卡,但是它被酷酷的橡胶腕带取代了。为了进入健身房,你在接待处把带子出示给一台机器。它还可以用做更衣室储物柜的钥匙。
既然腕带取代了老地方的、带有数字的储物柜钥匙链,当我从健身房返回到储物间时,我绝对记不住我的储物柜号码。我只是需要记住它。我还常常把腕带忘在家里,因为我不能像以前的会员卡一样把它放在我的钱包里。
在更衣室的储物柜上有个按钮,你需要用腕带按下才能关上。或者腕带上的某个点,更精确地说,腕带内部貌似有一种芯片。只有当这个按钮按到了腕带的确切位置,锁才能锁住,因此储物柜的门相当难以锁住,但是!它是一种科技感十足的腕带……
总体来说,新的健身房真的很酷,但是笨拙的储物柜系统降低了客户体验的质量。这款产品设计背后的主要动机貌似成了科技,而不是让人们生活更便利的期望。
那么代码呢?我们为什么要以编写“具有可读性的代码”为目标呢?与腕带访问控制系统应该被设计有着同样的原因:让人们的生活更加便利。我们编写有可读性的代码是为了开发人员,他们今后阅读代码和修改代码——为了你自己或其他人。
然而,我想指出的是,“可读的代码”这个词语是一种不充分的表述。除了创建只是可以阅读的代码,你真正要创建的是为下一个开发人员而考虑的、全面的用户体验。对于更高级的软件设计选择亦是如此;它的一切都是用户体验。正如 Reaktor 的总体解决方案视频 所指出的,好的代码是诗。
因此,目标是诗,而不是橡胶腕带。
写得好的代码会和你讲话,就像口语在对你讲故事。一些编程语言让这变得容易,另一些有点儿难(试着用 Brainfuck “讲故事”,祝你好运【注1】)。不管哪种编程语言,所有的代码都是用户体验。
橡胶腕带的例子或许有些意义不大,但请记住:要注重细节,把你的用户体验从好的带到几乎完美。我说的是几乎完美,因为总是存在提高的空间,不过这是另一个故事了(参考维基词条 kaizen )。做为开发人员,塑造你的身份和品牌被感知到的方式,不管公司的品牌,还是个人品牌。
总之,把用户记在心底,无论你是在构建橡胶腕带上的访问控制系统,还是用户接口、抑或代码。把你自己想象成用户,然后考虑在你的软件或服务的任务上,能给用户带来什么样的最佳体验。
古老的黄金定律【注2】完全适用于本文:像对待自己一样来对待用户。