论坛首页 综合技术论坛

程序开发方法论

浏览 15333 次
精华帖 (2) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-12-13   最后修改:2009-12-15

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

   发表时间:2009-12-14  
程序开发犹如理论创建。
主要的工作在于对于特定要解决的问题创建出一种理论。

一旦这种理论创建成功了,主要工作也就结束了。


0 请登录后投票
   发表时间:2009-12-17  
程序研发,也有一套哲学原理,最基本的原理就是尊重事实及客观事物发展的规律~~
0 请登录后投票
   发表时间:2009-12-17  
世界观决定方法论
0 请登录后投票
   发表时间:2009-12-22  
写得太好了,英雄所见略同!
0 请登录后投票
   发表时间:2009-12-22  
这贴,我觉得给刚出来的程序员,很有促进作用!!!
0 请登录后投票
   发表时间:2009-12-23  
程序开发达到一定规模,就可以算是工程了吧。适用工程理论
0 请登录后投票
   发表时间:2009-12-23  
自己承担了项目之后,深有感触啊。顶
0 请登录后投票
   发表时间:2009-12-24  
引用
程序开发达到一定规模,就可以算是工程了吧。适用工程理论


问题往往出现在这样的思路里面。软件工程从来就不同于任何别的工程,或者适用任何别的工程理论。这种论调基本和楼主描述的软件开发的自然特征背道而驰。
0 请登录后投票
   发表时间:2009-12-24  
和LZ有点共鸣,哈哈
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics