`
jsntghf
  • 浏览: 2534351 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

程序开发方法论

阅读更多

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

分享到:
评论
19 楼 MO_ZHUANG_D 2010-03-18  
详细的需求分析对于整个程序的开发效率是至关重要的
所以在程序开发之前不得不花费大部分时间建立在程序的分析和架构的选择
小到按钮的事件和返回结果都要想到这些
看了LZ一番话 很有收获
18 楼 laonao 2010-01-07  
还是要多实践
17 楼 rainv 2010-01-04  
建模建模建模
16 楼 BestUpon 2010-01-03  
支持楼主的看法,
15 楼 passionke 2010-01-02  
呵呵  喜欢微软的 解决方案的提法
14 楼 shz2008bj 2009-12-30  
程序开发,设计是非常重要的,一个垃圾设计就注定这个项目会变成垃圾,还让程序员痛不欲生!
13 楼 lpzhouyang 2009-12-28  
同意楼主的观点,但是在实际开发过程中,特别是开发周期短的情况下,不可能那么清楚的了解到用户的需求,个人觉得前期的原型方法可以较好的解决这个问题。
12 楼 gurudk 2009-12-25  
系统化思维,识别领域内关键问题的能力。
这是核心竞争力
11 楼 lyw_988 2009-12-24  
说得那么邪乎,我严重不同意,如果你对业务很熟悉,你很容易就知道你要写什么样的框架程序,业务不熟悉你压根就不会有写框架的想法。
10 楼 bohemia 2009-12-24  
做事也是这样。不只是写程序。 先想清楚了,再动手。磨刀不误砍柴工么。
9 楼 fz8224 2009-12-24  
和LZ有点共鸣,哈哈
8 楼 check 2009-12-24  
引用
程序开发达到一定规模,就可以算是工程了吧。适用工程理论


问题往往出现在这样的思路里面。软件工程从来就不同于任何别的工程,或者适用任何别的工程理论。这种论调基本和楼主描述的软件开发的自然特征背道而驰。
7 楼 horseroad 2009-12-23  
自己承担了项目之后,深有感触啊。顶
6 楼 wwy_0918 2009-12-23  
程序开发达到一定规模,就可以算是工程了吧。适用工程理论
5 楼 lishuanglin52130 2009-12-22  
这贴,我觉得给刚出来的程序员,很有促进作用!!!
4 楼 liyun_1981 2009-12-22  
写得太好了,英雄所见略同!
3 楼 一蓑烟雨任平生 2009-12-17  
世界观决定方法论
2 楼 star022 2009-12-17  
程序研发,也有一套哲学原理,最基本的原理就是尊重事实及客观事物发展的规律~~
1 楼 tuti 2009-12-14  
程序开发犹如理论创建。
主要的工作在于对于特定要解决的问题创建出一种理论。

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


相关推荐

    Python安全应用程序开发方法研究.pdf

    Python安全应用程序开发方法研究.pdf

    聊聊AUTOSAR开发方法论

    ### AUTOSAR开发方法论详解 #### 一、概述 AUTOSAR(AUTomotive Open System ARchitecture)是一种开放式的汽车电子系统架构标准,旨在提高汽车电子控制单元(ECU)之间的互操作性和软件复用性。AUTOSAR体系结构主要...

    软件开发基本方法参考

    首先,RUP(统一软件开发过程)是由Rational公司提出的,是一种面向对象且基于网络的程序开发方法论。RUP的核心理念是通过二维开发模型,将软件开发过程划分为不同的周期和阶段,确保项目能够灵活适应变化。RUP强调...

    论程序设计方法(牛人写的)

    论程序设计方法 程序设计方法是一个庞大的领域,它涉及到计算机硬件环境、软件设计方法、结构化程序设计、程序维护等多个方面。在本文中,我们将探讨程序设计方法的演变历程,从最初始的机器码编程到结构化程序设计...

    面向对象程序设计复习资料.doc

    RUP(统一软件开发过程)是一个面向对象且基于网络的程序开发方法论。RUP 仿佛一个在线的指导者,它能够为所有方面和层次的程序开发提供指导方针、模版以及事例支持。RUP 的本质是一个风险驱动的、基于 Use Case ...

    2023年面向对象程序设计复习资料.doc

    RUP 是一个面向对象且基于网络的程序开发方法论。RUP 仿佛一个在线的指导者,它可认为所有方面和层次的程序开发提供指导方针、模版以及事例支持。 九、RUP 的核心工作流 RUP 中有 9 个核心工作流,分为 6 个核心...

    《程序设计方法论文》

    《程序设计方法论文》这篇论文探讨了两种主要的程序设计方法——结构化程序设计和面向对象程序设计。这两种方法在不同的历史时期和发展阶段扮演了重要角色,各自具有独特的设计理念和优势。 结构化程序设计(SP)...

    物业管理微信小程序的开发(含论文)

    本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用Java语言技术和Mysql数据库来完成对系统的设计。整个开发过程首先对物业管理微信小程序进行需求分析,得出物业管理微信小程序主要功能。接着对...

    微信小程序实战课程开发与实施.pdf

    此外,课程开发过程中还可以引入计算思维,这是一种解决问题和设计系统的方法论,有助于提高学生的逻辑思维和问题解决能力。 总结来说,微信小程序实战课程的开发与实施涉及到的技术知识点包括:微信小程序的开发...

    讲义资料——RUP大讲堂(第二讲)-业务驱动开发

    RUP(Rational Unified Process)是一种面向对象且基于网络的程序开发方法论,它提供了一套完整的软件开发流程指导。RUP的核心理念在于强调业务驱动,即通过理解业务需求来驱动软件开发过程,确保最终的产品能够真正...

    软件测试方法论-黑盒测试篇-开发人员眼中的测试方法

    《软件测试方法论-黑盒测试篇》是一本以开发人员视角探讨软件测试的著作,旨在帮助读者理解测试与开发的关联性,以及如何有效地进行黑盒测试。黑盒测试是一种不考虑内部结构,只关注软件功能输出的测试方法。以下将...

    Java之Web服务开发方法论图解..pdf

    Java之Web服务开发方法论图解 本文将详细介绍使用Axis2和CXF开发Web服务的方法论图解。Web服务是基于SOAP(Simple Object Access Protocol)的应用程序之间的交互方式,是一种基于XML的远程过程调用(RPC)机制。 ...

    计算机软件开发的Java编程语言及应用——评《Java编程方法论》.pdf

    【Java编程语言特点】 Java编程语言是面向对象的...《Java编程方法论》这本书的详细内容,无疑为Java学习者和开发人员提供了宝贵的理论指导和实践案例,有助于他们深入理解和熟练运用Java,提升软件开发的效率和质量。

    软件系统软件测试方法论

    ### 软件系统软件测试方法论 #### 测试的目的 在软件开发过程中,测试扮演着至关重要的角色。测试的主要目标是为了确保软件产品的质量达到预期标准。具体来说,测试的目的可以归纳为以下几点: 1. **查找错误**:...

    大型程序开发方法PPT学习教案.pptx

    《大型程序开发方法》的学习教案主要探讨了软件工程中针对大型程序开发的策略和方法,尤其是结构化程序设计。在软件开发过程中,大型程序的管理与设计是一项复杂任务,需要严谨的方法来确保项目的成功实施。 首先,...

    什么是RUP.doc

    RUP,全称为Rational Unified Process,是IBM公司 Rational 团队开发的一种软件开发过程框架,它是一种面向对象且基于网络的程序开发方法论。RUP强调风险驱动,使用Use Case技术,以架构为中心,采用迭代的方式进行...

    python 编写你自己的游戏

    3. 程序开发方法论:理解如何系统地学习编程,包括但不限于安装Python环境、编写代码、调试程序、版本控制等。 部分内容主要说明了书籍的版权信息、许可协议以及作者的写作背景和动机。从这些信息中可以提炼出的...

    JAVA之WEB服务开发方法论图解.pdf

    【Java之Web服务开发方法论图解】 Java作为一款广泛使用的可扩展开发平台,深受开发者喜爱。在Java上开发Web服务(简称WebService)的技术不断涌现,其中Apache软件基金会的两个重要子项目——Axis2和CXF,成为了...

    oracle-实施方法论

    首先,Oracle实施方法论的核心是其标准化的流程,包括需求分析、系统设计、开发、测试、数据迁移、用户培训和上线支持等阶段。在需求分析阶段,项目团队会深入理解业务流程,识别关键性能指标,并确定系统应如何满足...

    程序设计方法 中文版 Matthias Fellise.pdf

    程序设计方法论是指在软件开发中用于指导程序设计的理论体系和实践方法。它涉及如何系统地构建程序、如何组织代码以及如何确保软件质量和可维护性的知识。 以下是围绕程序设计方法论的一些重要知识点: 1. 软件...

Global site tag (gtag.js) - Google Analytics