编程如做菜

 

作者:胡阳

摘自:http://www.the5fire.net

 

写程序有时候就像是做菜一样。很多人都这么比喻过,从写程序和做菜的对比中我们能得到什么启发呢?因为写一个程序的周期相对是比较长的,而做菜的过程确是很短(时间太长了会有人饿晕过去的,呵呵)

【浅析】

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

【过渡】

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

【深挖】

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

【总结】

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

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值