http://ourjs.com/detail/527d00ef6a39cfe81c000004
要理解简单之美"Worse Is Better", 恐怕要比较长时间的积累与经验,这是Richard P. Gabriel 先生根据自己的亲身经历得出的著名论断。Gabiel在Lisp编程语言特别是Common Lisp上的著名专家。在1989年的一次Lucid走廊会谈中,他被一些Hackers问及为什么的时候,他开玩笑地说:“因为,嗯,更坏的就是更好的。” 在接下来的几年里,他发表了另外几篇文章,并阅读了很多书籍来验证自己的观点,这样"Worse Is Better"的设计理念逐渐成形。
坏点的更好,强调简单压倒一切,为了简单性,其他方便都可以做出牺牲,包含以下几点:
- 简单性:设计必须简单,这既是对实现的要求,也是对接口的要求。实现的简单要比接口的简单更加重要。简单是设计中需要第一重视的因素。
- 正确性:设计在任何值得注意的方面都要求正确。为了简单性,正确性可以做轻微的让步。
- 一致性:设计不能过度不兼容一致。为了简单,一致性可以在某些方面做些牺牲,但与其允许设计中的这些处理不常见情况的部分去增加实现的复杂性和不一致性,不如丢掉它们。
- 完整性:设计必须覆盖到实际应用的各种重要场景。所有可预料到的情况都应该覆盖到。为了保证其它几种特征的品质,完整性可以作出牺牲。事实上,一旦简单性受到危害,完整性必须做出牺牲。一致性可以为实现的完整性作出牺牲;最不重要的是接口上的一致性。
成功案例
Unix/C
Unix的设计理论是追求简单,而一味的追求正确性会使系统过于复杂。这就是Unix做出的了合适的取舍。Unix和C在设计上,充分考虑了实际环境,而放弃了一些一致性和完整性,保证了简单性。这点让C和Unix在历史的选择中胜出。C++也是如此。
仅有一条搜索框,Google在产品设计中去除掉杂七杂八的东西,利用“减法”法则,在设计中舍弃不必要的东西,保留必不可少的东西,而这些被提炼出来的要素往往可以获得更深厚的精神内核。一项web用户调查数据中说明,用户在web上的行为通常只会用20%左右的功能,只会惯用一种操作模式,并且坚持。久而久之,用户就逐渐养成了自己对产品的理解。“简单”“直白”便是做web产品设计时应坚持的原则之一,也可以称为“显性设计”,它能够提高可用性。摘自:[yixieshi.com]
JavaScript
JavaScript的简单,让很多初接触的人都觉得她是一种垃圾语言(参见:JavaScript就是一种垃圾语言),事实上JavaScript的最初版本是在十天之内就写出来的,当时仅仅考虑到实现起来比较容易,所以语言的一些细节考虑得不够严谨(参见:Javascript诞生记)。不过也许正是这种简单,才使众多的码农从华丽的高级语言转身,重新拾起这种朴实无华的"土鳖"语言,造就了JS的如此流行。
相似理论:KISS原则
KISS是英语 Keep It Simple, Stupid 的首字母缩略字,也有人称“懒人原则”。KISS原则是指在设计当中应当注重简约的原则。