the5fire

关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


编程如做菜

作者:the5fire | 标签:     | 发布:2011-05-26 9:05 p.m. | 阅读量: 6473, 6263
写程序有时候就像是做菜一样。很多人都这么比喻过,从写程序和做菜的对比中我们能得到什么启发呢?因为写一个程序的周期相对是比较长的,而做菜的过程确是很短(时间太长了会有人饿晕过去的,呵呵)

【浅析】

先从小程序说起,一个小程序的开始,都是胸中有沟壑,敲键如有神。只需要脑海中有大概的一个构思就可以了,随便做出来个什么东西,最后不合心思大不了再改。就如自己随便做一些家常菜一样,不需要严格工序,有菜,有锅,有火,加热即可食用。不在乎美味与否,好看与否,反正最后都是下自己的肚子,香苦自知。 再来说大程序,精品菜。这些东西都是比较讲究的,光是胸中有沟壑是不够的,因为你的沟壑可能不足以覆盖整个程序的始末。 所以要有严格的工序,无论你是用敏捷还是用RUP或者是XP,都要有一个规范作为指导,不可肆意妄为,否则会破坏整体结构。而对于做菜,无论你坐什么川菜,粤菜,或湘菜,你都要按照一定的步骤来走,需要遵守菜谱才行,川菜需要麻辣,那你就不能让酸辣,不然整盘菜就变味了。

【过渡】

我个人感觉之所以那些精品菜比较美味、受人欢迎,除了有严格的工序之外,还需要有相当的辅料才行。一盘菜的色香味,出了菜料本身,更多的因为辅料的使用。就像是一个完整的程序,除了用SSH或者SSI或者其他的一些框架之外,更多的是对框架的一些补充,或者是框架涉及不到的地方,如使用ant自动构建,Maven来进行项目管理,或者js提升用户体验。 这些东西都是脱离主体之外,但有缺之不可。因此,才有了“一千个程序员(厨师),就会创造一千个程序世界(美味佳肴)”这句话。同样的材料,同样的框架,不同的人来做效果完全不同。主要取决于创造者的阅历,经验,以及领悟。

【深挖】

即便是对于相同的菜谱,相同的厨具,相同的作料,不同的程序员做出来的味道也会截然不同。造成这样的差别除了上面所说的经验、阅历、领悟能力不同之外,还取决于程序员的基本共如何,有没有很好的刀工,有没有很好的勺工。另外还有一项最为重要的就是程序员对菜谱的理解,对菜料的理解,以及对作料的理解,甚至是对厨具的理解。 即便是一个拥有很多经验、阅历,以及领悟能力超人并且有很好的基本功的程序员,如果不理解菜谱,不了解菜料,不了解作料,不了解厨具,我想即便是做出来一摸一样的菜肴,也只是在“色”上有了一定的功夫,谈不到“香”,更谈不上“味”。 在上述内容之外其实可以牵扯出来最最本质,最最重要的东西——对上述内容的掌握,只有充分掌握上述内容才能综合的运用,才能把各种材料和自己的技艺精湛的发挥出来,最终可以超越菜谱,到达“创”的境界。

【总结】

做一个出色的厨师很难,做一个优秀的开发人员也不易,框架用的再熟练充其量也是个技工,只有不断的掌握其本质,掌握环境,平台,才能真正做到:胸中有沟壑,下笔如有神的最高境界,此沟壑才是真正的沟壑。 - from the5fire.com
----EOF-----

微信公众号:Python程序员杂谈

【上一篇】 linux服务器环境搭建总结
【下一篇】 闲扯设计模式

其他分类: