程序开发是技术活。只有通过不断积累经验,并且反思过去,才能偶有所得,进而改进自己的开发方式,提高工作效率。
写程序,不是体力活。一般写程序出现问题,都在于前期准备不够,其实写程序有一句箴言:厚积薄发。你要是思路清晰,不费劲,很快能开发出一个像模像样的系统出来。你要是思维混乱,折腾吧,管你怎么折腾,都会弄成一团糨糊。程序开发不是简单的,可以度量的,平滑的劳动积累,而是一系列攻关的过程,你走了99%的路程,可能就卡死在这最后的1%之中,所以不能死板、粗暴的对待程序开发,必须保持头脑的清醒,必须经常留意是否走进死胡同。
对于程序开发,人们往往都太急于动手。对问题根本不清楚,以为借助开发行动,就能自然而然的理解,这样太过自信,太过蔑视问题。程序开发所面对的问题几乎总有我们想象不到的难,也许因为我们只是人类,不是神明,去设计一套指挥别人行动的方案,这种神明的职能对我们来说很陌生。每件很普通平常的事情,深究下去,里面蕴含的结构和逻辑都异常复杂,只有没有试过深究的人才敢贸然行动。
作为前期准备,首先应该压制自己蠢蠢欲动的心情,然后也压制自己的雄心壮志,卑微的去观察,去模仿,进而吸取前人的劳动成果,才是正确的方法。很少人以模仿和顺从别人为荣,但实际这是一个很实在的做法。如果你连前人做了什么都一无所知,试问你做出来的东西可否知道究竟优胜在哪里呢?可是人们往往就是忽视这些,急于表现自己的聪明才智。
观察别人的成果,至少有个优点,你知道自己要开发什么,开发目标是什么。这种目标并不是“成功学”所谓的目标,也就是所谓的“我一定成功”,而是具体的,比如,我想让游戏这个部分的物品这样摆放,速度在这里可以改变一下。你只有真的去认识一个完整的产品之后,才能在大脑里形成比较成熟的观点。这种观点越是具体,你就越有可能将它实现出来。
一开始,你可能会对某些细节有看法,经过大量的反思之后,你能发现更加宏观性的架构问题,并有改进的方案。这就是一个积累的过程。
等待这个过程越来越明显,脑海中的印象越来越清晰,你就知道该开始动手了。
当你动手之后,发现原来之前的认识只是局部的,有很多漏洞,如果漏洞比想象中要多,你就不可能继续下去,说明你的积累还不够,认识太过片面,与其修补漏洞,还不如再次系统化的研究一下别人的成果。
程序开发,并不是手艺,而是谋划,需要积累对事物的正确认识的前提下,深思熟虑,规划方案,层层深入,步步为营,逐个击破。这就是程序开发的方法学。
分享到:
相关推荐
Python安全应用程序开发方法研究.pdf
### AUTOSAR开发方法论详解 #### 一、概述 AUTOSAR(AUTomotive Open System ARchitecture)是一种开放式的汽车电子系统架构标准,旨在提高汽车电子控制单元(ECU)之间的互操作性和软件复用性。AUTOSAR体系结构主要...
首先,RUP(统一软件开发过程)是由Rational公司提出的,是一种面向对象且基于网络的程序开发方法论。RUP的核心理念是通过二维开发模型,将软件开发过程划分为不同的周期和阶段,确保项目能够灵活适应变化。RUP强调...
论程序设计方法 程序设计方法是一个庞大的领域,它涉及到计算机硬件环境、软件设计方法、结构化程序设计、程序维护等多个方面。在本文中,我们将探讨程序设计方法的演变历程,从最初始的机器码编程到结构化程序设计...
RUP(统一软件开发过程)是一个面向对象且基于网络的程序开发方法论。RUP 仿佛一个在线的指导者,它能够为所有方面和层次的程序开发提供指导方针、模版以及事例支持。RUP 的本质是一个风险驱动的、基于 Use Case ...
RUP 是一个面向对象且基于网络的程序开发方法论。RUP 仿佛一个在线的指导者,它可认为所有方面和层次的程序开发提供指导方针、模版以及事例支持。 九、RUP 的核心工作流 RUP 中有 9 个核心工作流,分为 6 个核心...
《程序设计方法论文》这篇论文探讨了两种主要的程序设计方法——结构化程序设计和面向对象程序设计。这两种方法在不同的历史时期和发展阶段扮演了重要角色,各自具有独特的设计理念和优势。 结构化程序设计(SP)...
本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用Java语言技术和Mysql数据库来完成对系统的设计。整个开发过程首先对物业管理微信小程序进行需求分析,得出物业管理微信小程序主要功能。接着对...
此外,课程开发过程中还可以引入计算思维,这是一种解决问题和设计系统的方法论,有助于提高学生的逻辑思维和问题解决能力。 总结来说,微信小程序实战课程的开发与实施涉及到的技术知识点包括:微信小程序的开发...
RUP(Rational Unified Process)是一种面向对象且基于网络的程序开发方法论,它提供了一套完整的软件开发流程指导。RUP的核心理念在于强调业务驱动,即通过理解业务需求来驱动软件开发过程,确保最终的产品能够真正...
《软件测试方法论-黑盒测试篇》是一本以开发人员视角探讨软件测试的著作,旨在帮助读者理解测试与开发的关联性,以及如何有效地进行黑盒测试。黑盒测试是一种不考虑内部结构,只关注软件功能输出的测试方法。以下将...
Java之Web服务开发方法论图解 本文将详细介绍使用Axis2和CXF开发Web服务的方法论图解。Web服务是基于SOAP(Simple Object Access Protocol)的应用程序之间的交互方式,是一种基于XML的远程过程调用(RPC)机制。 ...
【Java编程语言特点】 Java编程语言是面向对象的...《Java编程方法论》这本书的详细内容,无疑为Java学习者和开发人员提供了宝贵的理论指导和实践案例,有助于他们深入理解和熟练运用Java,提升软件开发的效率和质量。
### 软件系统软件测试方法论 #### 测试的目的 在软件开发过程中,测试扮演着至关重要的角色。测试的主要目标是为了确保软件产品的质量达到预期标准。具体来说,测试的目的可以归纳为以下几点: 1. **查找错误**:...
《大型程序开发方法》的学习教案主要探讨了软件工程中针对大型程序开发的策略和方法,尤其是结构化程序设计。在软件开发过程中,大型程序的管理与设计是一项复杂任务,需要严谨的方法来确保项目的成功实施。 首先,...
RUP,全称为Rational Unified Process,是IBM公司 Rational 团队开发的一种软件开发过程框架,它是一种面向对象且基于网络的程序开发方法论。RUP强调风险驱动,使用Use Case技术,以架构为中心,采用迭代的方式进行...
3. 程序开发方法论:理解如何系统地学习编程,包括但不限于安装Python环境、编写代码、调试程序、版本控制等。 部分内容主要说明了书籍的版权信息、许可协议以及作者的写作背景和动机。从这些信息中可以提炼出的...
【Java之Web服务开发方法论图解】 Java作为一款广泛使用的可扩展开发平台,深受开发者喜爱。在Java上开发Web服务(简称WebService)的技术不断涌现,其中Apache软件基金会的两个重要子项目——Axis2和CXF,成为了...
首先,Oracle实施方法论的核心是其标准化的流程,包括需求分析、系统设计、开发、测试、数据迁移、用户培训和上线支持等阶段。在需求分析阶段,项目团队会深入理解业务流程,识别关键性能指标,并确定系统应如何满足...
程序设计方法论是指在软件开发中用于指导程序设计的理论体系和实践方法。它涉及如何系统地构建程序、如何组织代码以及如何确保软件质量和可维护性的知识。 以下是围绕程序设计方法论的一些重要知识点: 1. 软件...