设计感觉
Michael Feathers
在软件开发领域,始终有一个问题困扰着我,那就是:天资,对一个开发者而言,究竟意味着什么?那些拥有“天资”的开发人员,能写出十分优秀的代码,能解决非常棘手的问题。他们还能深刻的影响软件项目的开发,只要是好的设计,他们就发现。他们能一眼看出,某一段代码,是经过深思熟虑后写出的,还是毫无目的编码的结果。
或许这里使用的“天资”一词并不恰当,更为恰当的应该是“经验”。经验丰富的开发者,往往拥有这种莫可名状的“设计感觉“,但这种感觉并不一定所有开发者都具有。我真的无法了解,所谓的”设计感觉“,究竟是开发者与生俱来的,还是在不断总结经验的过程中获得的。不过我想, ”设计感觉“多少和个人特质有点关系。
很久以前,我曾读到一本名为“Drawing On The Right Side of the Brain”的书。作者Betty Edwards在书中写到:艺术家们以不同于普通人的视角来观察这个世界,换言之,他们以有助于自己艺术创造的方式来观察事物。如果我们能以艺术家的方式去观察、去感知,那么我们将成为一个更富艺术气质的人。
我记得书中的一个实践题目是:拍摄一张面部的特写,然后将其颠倒后画出来。这招很管用,在观察颠倒的相片时,我们能够将注意力集中于画面中的曲线和棱角,我们才能够清晰的看到人脸的形状的肌理。但是,如果相片并未颠倒,那么我们所看到的人脸,和平时看到的并无二样,而且我们真实看到的画面与大脑中的画面之间的差异,会使得我们产生困惑。也就是说,当我们看到未颠倒的相片时,我们潜意识的会在脑海中产生类似这样的想法:“这是一个人脸,它是椭圆形的,那么我就先画一个椭圆形;头发是长而细的,那么我就画一些线条。”但是,以这样的方式去感知事物所得到的画面,往往是扭曲的。
我在阅读“Drawing On The Right Side of the Brain”的过程中,产生了这样一个想法:艺术创作和软件开发,是否有一定的相通性?也许富有经验的设计者观察事物的角度真的是与众不同。
几年前,Malcolm Gladwell写的一本名为“Blink”的书,让我想到了这些。书中他提出,人类的许多认知都是在无意识的情况下瞬间发生的。这一点我们可以在专家们的决策过程(decision process)中看到。他们往往知道问题的答案,但是他们自己也无法说清楚这个答案究竟是如何得来的。
专家们当然也会犯错误,不过我想,某一领域内的专家看待问题的角度,确是十分有学习价值的;而且,如果我们接受“只要不断的观察某个事物,或不断的思考某个问题,就能得到一个更好的解决方案”这一论断,那么我们就有可能将设计学习(design learning)迁移至一条不同的途径。我们可以尝试教授“设计感觉”,至少我们可以通过大量的案例教会人们如何鉴别一个设计的好坏,就像这样:这段代码很棒……那代码糟糕透了……这段代码很棒……那代码糟糕透了。我们不断的讲解一个又一个例子,直到人们对优秀代码的本质心神领会了为止。
我并不奢望这类培训能够代替正规而完整的教育,能够选修上一些正规的课程是很难得的。设计是一门精深的技艺,没有任何东西可以代替长年累月的、大量的代码实践。然而,我遇到的许多开发者,绝大部分甚至从未接触过真正卓越的代码。
(最后一段是作者给自己做的广告,就不翻译了)












设计感觉
翻译:

welovecs 贡生 | Blog
第一次发表拙作,献丑了。
请各位大虾多多拍砖。
08/16/2007
dracula 进士
翻译的很好,排版很细致,喜欢ing。
谢谢 welovecs
08/16/2007
sinceresin 探花
看了以后很有收获,经验对软件从业者来说也很重要哦。反思一下我自己,我写代码往往是功能为先,很少考虑代码质量。而且高质量的代码很少能看到,以至于学习不到高手解决问题的方法,以至于我现在觉得,保证功能的前提下,代码越简单越好。
怎样做出一个优秀的设计,编出高质量代码,对我来说,这还是个问题?
08/16/2007
welovecs 贡生 | Blog
谢谢楼上两位朋友。这是我翻译后的一些感想:
1. 设计感觉之于设计,就如同语感之于语言,是非常重要的。而这种感觉不是一朝一夕就能培养出来的,而是通过“日积月累的编码实践和设计实践,而后总结经验”这一漫长的过程获得的。
2. 对于一个设计师而言,墨守成规、思维定势等思维上的陋习,是要不得的。我们应该做一个out-of-box thinker。正如文中提到的,将相片颠倒后,会看到更多的细节。如果我们尝试跳出自身角色,用其他角色的视角去审视同一个设计,恐怕会看到更多的问题。
3. 关于作者提到的“We can see this in the decision process (or lack thereof) used by experts. Often they just sort of know the answer, but they aren't quite sure how they arrived at it.”,我觉得可以参见这篇文章:
正确理解你自己的聪明才智。
http://angelived.org/2007/07/2...
08/16/2007
雷声大雨点大 大学士 | Blog
原文、翻译俱佳。特别喜欢这一句:
这是一个人脸,它是椭圆形的,那么我就先画一个椭圆形;头发是长而细的,那么我就画一些线条。”但是,以这样的方式去感知事物所得到的画面,往往是扭曲的。
08/17/2007
丛中笑 秀才
艺术创作与软件开发有一定的相通,都需要灵感和经验。需要“另类思维”。听说过吗,美国一些大公司的开发高手们,是手里拿着计算机在湖边边玩边设计的。哈哈!
08/18/2007
深蓝 童生
你还能翻译呢!真是不错,我也看了你做的设计,也很不错啊!
有句名言怎么说来着:成功=1%的天才+99%的勤奋.大概就是这个意思吧.
我想不光是艺术创作和软件开发,很多行业甚至任何行业都是这样的吧!
09/10/2007