我思考,为了不让你思考!

最近一段时间,设计做的比较多,感触良多!而感触当中,最感慨的就是,我是程序员,还是一个使用者!

 

其实,我是一个程序员!上一篇博文我已经给自己一个比较精确的定位。可是我觉得,当我在实际开发过程中,尤其是在做概要设计和详细设计的时候,更多的时间,我要站在一个程序最终使用者的角度去看待程序,也只有这样,我所作的东西,才更合理,且更容易被人们所接受。而原因就在于,我所设计、所开发的东西不是给我使用,而是要给一个实际需要他的人使用,这个人十之八九不会是个程序员。

 

貌似这些话听起来有些绕口,也有些不清不楚的,不过这的确是个事实。

 

一个程序员在思考问题时,通常想的是程序实现的方式、方法,难易程度,如何规避掉一些问题(至少我是!);而一个系统的实际使用者,所想的就是功能是否强大,操作是否简单。好吧!让我弱弱的欢呼一下,因为矛盾出现了。

 

在完成某个功能的代码时,我们会想着如何简单高效的完成工作,而往往忽略了程序使用的效率问题;心情不爽的时候,我们可能会极其不耐烦的对待某个实现方式较为高深的功能,然后找一条所谓的“捷径”去替代;甚至有时候,我们会想着尽量少的改变原有程序去增添新的功能模块,从而使功能产生新的漏洞……

 

理论上,这些都没错,对于工作而言,没错。但事实上,错了,至少我认为错了。

 

这些做法都会导致一个结果,那就是在工作上节省了一小时,而程序转到实际使用者手里的时候,他们可能每人每天都会多花费几分钟,甚至几十分钟去完成他们的日常学习、工作、娱乐。假定一个erp系统当中的某张单据经过程序员的优化,效率及可操作新均有所提升,一个小职员在使用这张单子的时候,每天节省了一分钟时间,那一年节省了多少时间呢?如果是十个人呢?一百人呢?

 

或许每天一分钟对一个人来说,意义不大,但对于一个人的一生来说,意义是巨大的,对于一家公司来说,意义也是巨大的。

 

记得几年前,看过一本书,叫做《Don't Make Me Think》,书很薄,图很多。怎么看都觉得是本杂志。不过内容却可以让一个程序员,或者一个有思想的人受用。寥寥几十页,却向我阐明了一个程序员应该做的事——别让用你程序的人思考。然是异地以处,我们在使用别人开发的程序,浏览网站的时候,都曾产生过以下想法:

 

1、完全不知所谓!

2、我想看xxx,在哪呢?

3、这个钮是干嘛的?

4、怎么要等这么久才能看到东西?

 

如果夸大一点说,一个消耗比原始工作方式更多时间的程序,是没有存在意义的。

 

总之,都是些很令人烦躁,很痛苦的设计。并不是复杂的操作流程才能显示出软件的魅力,程序的高深。这就好比大夫给病人缝合伤口的时候,不是用标准的针法,反倒打了一个繁琐的蝴蝶结,会让人哭笑不得的。相反,一个简单,见文生意的设计才真的让人赏心悦目,才能真的让人称赞设计者心思缜密,滴水藏海。

 

操作简单,功能强大的程序,才是一个程序员应该最终追求的目标。正如我的一位好友博文中所讲——简单既是美

http://blog.csdn.net/lingyun2005/archive/2010/11/30/6044531.aspx)。

 

说起来简单,实现起来,却是难度大大地。为了给最终使用者一个真正有意义的功能,一个有意义的设计,一个有意义的程序,程序员需要付出更多的时间,更多的精力去完善自己手中的每一个想法,每一行代码,也许没有称赞,也许仅仅只有一个掩在屏幕后面看不见的微笑。

 

为了这个看不见的微笑,那么就让我来站在使用者的角度去思考!

 

 

 

posted on 2011-09-28 08:42  菜刀Charlie  阅读(548)  评论(2编辑  收藏  举报