做饭和开发软件

咋一看,这两者还真的难以联系上,但就在今天做饭的时候我却找到了两者的共同点了,且听我慢慢道来!

先说做饭,假设我今天晚上这顿饭要做三个菜,分别是蒜蓉空心菜、西红柿鸡蛋,土豆丝,原来我一般是洗好一个菜炒一个,一些公共的材料比如葱姜之类的要事先分配好,要不然可能有的菜就没得用了。而且总感觉这样很慢,往往第三个菜炒完的时候前面两个都凉了,今天偶然的一次机会,我改变了做法,首先把菜全部都准备好,每个菜配的葱姜各自都事先分配好,然后一气呵成,竟然比原来快了很多,而且效果很好,事先把各种东西都准备好,不至于临时用到了才去找,而且不至于找不到。

看到这里你会问,这和开发软件有什么关系?nice shoot

一般我们讲,编程和软件开发是两个阶段,也是两个层次,刚学编程的人一般急于写代码,不管做什么功能,一头扎进去就是写代码,岂不知写代码只是整个软件一个很小的一部分,一般来讲,我们把软件开发分成六个阶段:需求分析,概要设计,详细设计,编码,测试,实施。这里面非常强调需求分析和概要设计,因为没有一个好的分析和设计,我们做出来的东西很可能是无用的,而且一个好的设计可以很好地指导编码,确保其思路性并减少返工,这就像我们事先把要做的菜都切好,也就等于是给整个过程做了一个总体的规划,然后按照步骤进行即可,这样我们的重点就放在了炒菜的设计上,虽然炒的过程也很重要,但有了规划性的过程是无比高效的,这在哪个领域都是适用的,只不过我忽然把做饭和开发软件联系上了,就有了上述心得!

如果不理解软件设计和编码关系的人可以做上一顿饭试试,三个菜,两种思路:洗菜-做菜-洗菜-做菜-洗菜-做菜,洗菜(1,2,3)-做菜(1,2,3),体会一下那种方式更好,你就会明白软件设计的精髓所在!

posted @ 2010-05-19 21:33  刘尚  阅读(205)  评论(0)    收藏  举报