一个在心头萦绕了多年的问题,今天终于找到了答案:开发软件像什么像是煲汤。
曾经以为开发软件像炒菜:准备材料和调料,了解一下客户的口味,配料、下锅、上菜,完活。因此,也就曾经一度用炒菜的心态来认识软件和编写软件。渐渐地,发现了错误。菜是上桌了,可是食客并不满意,频繁发出这样的抱怨:“你放盐了吗/span>”,“盐放太多了吧”,“这牛肉怎么这么硬啊”…如此这般。其实自己也吃过别人炒出来的软件,也是这样的感受。后来,由于工作和个人需要,不断地自己给自己炒软件吃,就越发认识到问题的所在了。原来这好的软件并非是炒出来的,而是煲出来的。
软件的确是可以炒的,但是好的软件不是。当你亲自下厨给自己享用的时候,就会非常深切地体验到这一点。你不断地加工、品尝,不断地发现不满,然后反复地调整调料和配料的用量、比例,反复地改进你的工艺,然后再不断地品尝。如此周而复始,直到最后你终于觉得这汤够美味了或者不小心糊锅了。
软件就是这样。你不可能一蹴而就,马不停蹄搞出一个可以称之为好的软件,你需要一个煲的过程。当你第一次认为软件已经写完的时候,其实才是煲的开始。你去吃饭的路上,或是在林间散步的时候,极有可能突然意识到你的设计存在一个缺陷,可能是一个bug,也可能是一个臃肿不堪的结构,或者是一个不可理喻的接口,凡此种种。就这样,你的软件一直在你的头脑中徘徊,那些架构、算法、数据结构等等。你几乎每天都会发现至少一个令你有动手修改冲动的缺陷。如果不改掉,你就会觉得那软件很别扭,始终是心里放不下的一个事儿。这就是煲的过程。在这个过程中,那些蹩脚的、臃肿的、不自然不合理的地方被你一一发现,一一剔除和修正,你的软件因此而变得越发简洁、自然、合理、顺畅、高效。你有时甚至会纳闷,“为什么我第一遍作的时候会这样考虑/span>”,“我怎么会选择这么别扭的结构/span>”。
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33820 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!