程序开发方法论

程序开发是技术活。只有通过不断积累经验,并且反思过去,才能偶有所得,进而改进自己的开发方式,提高工作效率。

写程序,不是体力活。一般写程序出现问题,都在于前期准备不够,其实写程序有一句箴言:厚积薄发。你要是思路清晰,不费劲,很快能开发出一个像模像样的系统出来。你要是思维混乱,折腾吧,管你怎么折腾,都会弄成一团糨糊。程序开发不是简单的,可以度量的,平滑的劳动积累,而是一系列攻关的过程,你走了99%的路程,可能就卡死在这最后的1%之中,所以不能死板、粗暴的对待程序开发,必须保持头脑的清醒,必须经常留意是否走进死胡同。

对于程序开发,人们往往都太急于动手。对问题根本不清楚,以为借助开发行动,就能自然而然的理解,这样太过自信,太过蔑视问题。程序开发所面对的问题几乎总有我们想象不到的难,也许因为我们只是人类,不是神明,去设计一套指挥别人行动的方案,这种神明的职能对我们来说很陌生。每件很普通平常的事情,深究下去,里面蕴含的结构和逻辑都异常复杂,只有没有试过深究的人才敢贸然行动。

作为前期准备,首先应该压制自己蠢蠢欲动的心情,然后也压制自己的雄心壮志,卑微的去观察,去模仿,进而吸取前人的劳动成果,才是正确的方法。很少人以模仿和顺从别人为荣,但实际这是一个很实在的做法。如果你连前人做了什么都一无所知,试问你做出来的东西可否知道究竟优胜在哪里呢?可是人们往往就是忽视这些,急于表现自己的聪明才智。

观察别人的成果,至少有个优点,你知道自己要开发什么,开发目标是什么。这种目标并不是“成功学”所谓的目标,也就是所谓的“我一定成功”,而是具体的,比如,我想让游戏这个部分的物品这样摆放,速度在这里可以改变一下。你只有真的去认识一个完整的产品之后,才能在大脑里形成比较成熟的观点。这种观点越是具体,你就越有可能将它实现出来。

一开始,你可能会对某些细节有看法,经过大量的反思之后,你能发现更加宏观性的架构问题,并有改进的方案。这就是一个积累的过程。

等待这个过程越来越明显,脑海中的印象越来越清晰,你就知道该开始动手了。

当你动手之后,发现原来之前的认识只是局部的,有很多漏洞,如果漏洞比想象中要多,你就不可能继续下去,说明你的积累还不够,认识太过片面,与其修补漏洞,还不如再次系统化的研究一下别人的成果。

程序开发,并不是手艺,而是谋划,需要积累对事物的正确认识的前提下,深思熟虑,规划方案,层层深入,步步为营,逐个击破。这就是程序开发的方法学。

猜你喜欢

转载自eric-gao.iteye.com/blog/547681