大道至简
今天读了大道至简的第五章----失败的过程也是过程。在这一章中周爱民先生向我们介绍了做过程不一定是做工程。什么是工程?软件工程是在上世纪60年代末被提出。这个概念的成熟标志则是著名模型----瀑布模型的提出。瀑布模型包括5个主要阶段 即:需求、分析、设计、开发、测试。并且在此之后,许多人通过对其研究,提炼了许多值得称道的构成模型。
有许多人都照着模型所提供的过程去做工程,然而有些时候有些人虽然 也是按着过程一步步去做,但到了最后做出的东西与客户所需要的相差甚远。虽然开发人员可以说:“我是照着模型一步步做的。”那我们也只能说他的过程是成功的。而不能说这个工程是成功的。说白了这样做只能是说在走过场。而不是为师项目的而做的。
何为走过场?走过场就是在戏剧舞台上从一端走到另一端。其间没有实质性内容。若果我们做工程项目时亦是如此的话,每一个角色都把自己所负责的环节当成一个“过场”。那么项目只能是一个无休止的演出而已。但是项目的最终是得到客户所需要的成品。
有许多人把编程的根本目的都给忽略了,他们把注意力都要放在了如何去做过程上去了。但我们编程的根本目的是去实现一个东西,无论这个东西是小如一个趁手的工具,还是达到千万各工程的工程实现的项目。结果到是一样的,那就是通过我们的编程让这个项目事项,可以被我们用来接局为实际问题的。做为一个开发人员我们不能仅仅把所有的精力放在一个个小细节上,而是在做好细节工作时,还要有大局观,应该以整体为主;只有这样我们才能让项目实现,从而有利用价值。
在编程中,我们可以学习前人的经典模型,但不能去死板硬套,变通升华走出自己的独特道路才能卜陷入失败之中。东汉时期的伏波将军马援在家书中中写道:“效伯高不得,尤为谨敕之士,所谓效伯高不得,犹为谨敕之士,所谓刻鹄不成尚类鹜者也。效季良不得,陷为天下轻薄子,所谓画虎不成反类狗者也。”我们模仿他人可以,但我们要模仿的是他们的内在而不是外在的模式,正所谓盗亦有道。