代码之美
每天坐城铁上下班,无聊的时候就会发呆,有时也会观察周围的人。观察他们的相貌、衣着、动作、谈吐,想象自己就是福尔摩斯,去推测他们的是做什么工作的,现在的心情如何,是否高兴,是否忧伤。
有一天,我问了自己一个问题,人是如何定义美和丑的?
人的面部是由许多部分组成的,如果你把你认为最美的各个部分拼起来的话,得到的却可能是一张并不美的脸。而那些公认的俊男靓女们,也都能找出某个部分的缺点。这说明面部的美丑并不仅仅依赖于每个部分,还依赖于各部分的组合,最美的部分并不一定就能组合出最美的脸。
再来看看时装,女士的衣服种类繁多,花样也多,相信男士们大多无法摸清头脑。但是仅就男士们常穿的T-shirt和衬衫而言,在基本形状一样的情况下,不同的图案、花纹,却能带来完全不同的效果。两件花纹差不多的衬衫,却有可能带来非常不同的感觉。这也是某些大牌和小牌之间的差距。
我思考了很久,仍然不知道是什么导致了这些细微的差别而引起的不同感觉。虽然我能分辨出那些人好看,那些衣服好看,但是我却无法创造出来。不过有些人可以,那就是化妆师和时装设计师,他们知道什么样的东西看起来是美的,往往一个小小的改变就能带来翻天覆地的变化。
他们知道如何创造美是因为他们是各自行业的专业人士,那么作为写代码的专业人士,我们是否有能力创造出美妙的代码呢?在回答这个问题之前,先要搞清楚,什么样的代码才是美的?
有些人说性能好,有些人说设计佳,有些人说可扩展,有些人说可维护,但是对于我来说,我无法用语言表达,就像对于人和衣服一样,我无法说出是什么造就了美,我只能说当我看到了美的代码,我就知道它很美。总之我是凭着我的直觉和感觉去判断,而不是某些标准或者可度量的东西。而我创作代码的过程也很简单和笨拙,先把代码写出来,然后退后一步看看美不美,如果不美就尝试做一些修改,再退后看看,如此反复。时间久了,摸到了一些门道,对于某些情况也有了对应的办法(模式?原则?)。不过我仍然无法说出到底是什么造就了这种美,我依然只能凭着感觉去做,去写。
美不可言传,美妙不可言。
有一天,我问了自己一个问题,人是如何定义美和丑的?
人的面部是由许多部分组成的,如果你把你认为最美的各个部分拼起来的话,得到的却可能是一张并不美的脸。而那些公认的俊男靓女们,也都能找出某个部分的缺点。这说明面部的美丑并不仅仅依赖于每个部分,还依赖于各部分的组合,最美的部分并不一定就能组合出最美的脸。
再来看看时装,女士的衣服种类繁多,花样也多,相信男士们大多无法摸清头脑。但是仅就男士们常穿的T-shirt和衬衫而言,在基本形状一样的情况下,不同的图案、花纹,却能带来完全不同的效果。两件花纹差不多的衬衫,却有可能带来非常不同的感觉。这也是某些大牌和小牌之间的差距。
我思考了很久,仍然不知道是什么导致了这些细微的差别而引起的不同感觉。虽然我能分辨出那些人好看,那些衣服好看,但是我却无法创造出来。不过有些人可以,那就是化妆师和时装设计师,他们知道什么样的东西看起来是美的,往往一个小小的改变就能带来翻天覆地的变化。
他们知道如何创造美是因为他们是各自行业的专业人士,那么作为写代码的专业人士,我们是否有能力创造出美妙的代码呢?在回答这个问题之前,先要搞清楚,什么样的代码才是美的?
有些人说性能好,有些人说设计佳,有些人说可扩展,有些人说可维护,但是对于我来说,我无法用语言表达,就像对于人和衣服一样,我无法说出是什么造就了美,我只能说当我看到了美的代码,我就知道它很美。总之我是凭着我的直觉和感觉去判断,而不是某些标准或者可度量的东西。而我创作代码的过程也很简单和笨拙,先把代码写出来,然后退后一步看看美不美,如果不美就尝试做一些修改,再退后看看,如此反复。时间久了,摸到了一些门道,对于某些情况也有了对应的办法(模式?原则?)。不过我仍然无法说出到底是什么造就了这种美,我依然只能凭着感觉去做,去写。
美不可言传,美妙不可言。