为什么做不到KISS?

来源:百度文库 编辑:神马文学网 时间:2024/04/28 22:43:05
这里KISS不是啃(kiss),而是Keep it simple and stupid的缩写,直接翻译过来就是“保持简单和傻瓜化”,这里的傻瓜化和傻瓜相机的傻瓜含义相同。
以前曾经看到Koman敲门写的一篇KISS原则,对此深有感触,大约做技术做久了的人,听到这句话总是颇有一番感慨。
敲门说,“Keep It Simple and Stupid,保持简单浅显的意思,甚合我意。”“能够将复杂的事情做得非常简单,使用起来非常简单自然,还是需要不少功力的,多从客户角度考虑,保证客户的使用简单,都从框架设计考虑,让复杂的问题简单的表现和处理。只有那些不够自信,急于表现自己,卖弄各种技巧的人才会把简单的事情搞复杂。”
敲门是从技术复杂性的角度来解释这个问题的,非常赞同,很多时候工作是一个相对固定的东西,你多付出一些,和你合作的人或者客户就能简单一些,让别人高兴的方法常常是多做一些。
我这里还想从另外一个角度来说说KISS问题,免得KISS被人敬而远之,认为只有敲门这样久经战场的技术高手才能实现。
如果一件事情本身不简单,保持简单是一件非常难的事情,需要付出的超过别人多倍的努力才能实现,幸好这个世界本身就非常复杂的事情并不多,很多事情是人为弄复杂的。
如果不是故意,事情变复杂的原因常常是因为忽略了领域特性,错误地使用了另一个领域的语言来描述这个领域。
记得小时候学英语,常用汉字来帮助朗读,结果发现,如果要准确表示出单词的读音,需要很复杂的表达方式,比如我当时记录脸这个单词face,就用了“费斯,第一个读重,音长,第二个斯低声,刚读出声母停止”的描述,非常麻烦,即便这样,最终念出来的音与标准读音,还是相去甚远。
导致复杂的原因,是因为标注的方法错误,汉语与英语处在不同的领域,硬要采用汉语来标记英语,罗嗦又不得要旨,我想即便水平高一点的,也不会比我采用的简单哪里去,硬要写成“费斯”倒是简单了,却已经没有了想要的模样,真正简单又有效果的方法则是采用国际音标,那才“对路”。
软件开发过程中,设计者没有考虑用户的使用领域,是导致问题复杂的一个重要原因,如果考虑到这个过程是由需求、设计、实施、使用等多个环节组成,上一级没有注意下一级的领域都会导致后一级使用不KISS。
比较一下的google首页定制和新浪博客,我们可以看出不同,用户定制google首页的新闻源时,没有前台和后台的概念,所有的操作都在一起,很直观,而新浪的博客,你要登录到控制面板来做管理工作,把前台和后台分的很鲜明。
或许对于一个熟悉网络发布的人来说,这种划分并没有理解上的障碍,但管理步骤还是稍显麻烦一些。若是对于计算机本身知识较为陌生的人来说,理解前后台是怎么回事就很困难。一位新浪的朋友对我抱怨,竟然有这样的用户,发了文章后问我们,为什么看不到刚发的文章,用户素质太低了。
其实,对于一个不懂网络前后台的用户来说,发出文章认为马上就能看到是比较合理的预期,没有这样设计对于用户而言是一个缺陷,或者说,新浪博客的前后台划分本身并不合理,博客用户常常在编写和浏览等工作中频繁切换,让用户感觉有两份东西不仅和用户的常识不符,而且也麻烦。与编辑们处理互联网编辑工作不同,编辑主要是发布新闻,利用前后台功能划分,加快编辑的工作是合理的。看来是新浪不够KISS,才导致用户显得有些傻。
我当时讲了一个类比给新浪的朋友,你看到镜子中的像,你知道是自己,这是有学习代价的,对于一只猴子或者婴儿,想辨认清楚镜子中到底是自己还是另一只猴子,并不那么容易,总是站在自己的角度上向用户传递信息是不对的。
在字处理软件的早期,利用控制码来控制打印字体的效果是常用的做法,要打印一篇千字文,排版是一件“够技术”的活,需要忙上个把小时,随着“所见即所得(看到的就是想要的)技术”的实现,能够很直观的拖拽、选择字体,用户按照符合日常逻辑的方式来操作,我想这是计算机能够真正深入普通用户的前提。
保持KISS并不难,只要你用客户的领域语言来描述就可以,真正的难题是,我们常常不愿意把屁股挪到客户那边。