第一步不是写代码

来源:互联网 发布:淘宝店怎么办营业执照 编辑:程序博客网 时间:2024/05/14 09:26

       一个初学者常犯下的错误,第一步就想把程序的代码构建出来。因为这是初学者所能够看到的一个成果,这种写程序的方式。在初始的时候可能会起到一些积极的作用,但是随着接触的项目的扩大会发现这样的方式是不可取的。欲速则不达,越想快速的把代码写出来,可能最终出结果的时间会越加的延迟。

       在《代码大全》中对软件的开发做了一些隐喻,这些隐喻从各个方面对程序的设计做了好的比拟。写作代码,培植系统,系统增长,建造软件,所有这些的隐喻都有共同的特点便是在写代码之前我们要做一些准备工作。这些准备工作支撑了我们的代码能够持续的完善的写下去。不会因为先期缺乏计划而变得松散无度,组合起来成了一个四不像的家伙,运行起来臃肿不堪,代码的重复充斥于各个角落。这些道理,在我们开始学习程序设计的时候,可能已经接触到。但是,当时可能不能够深刻理解。

       需求,分析,设计,细化和编码,以至于后期的验证和测试等等都是整个程序设计或者说是软件开发中不可缺少的步骤。编码的工作量在最终的统计中所占用的时间可能只是很少的一部分。

       需求是我们写程序所要做的第一件事情,在这个阶段我们要把我们要做的事情有个大概的描述,大致具体到有哪些输入输出,大致我们要实现一个什么样的功能。当然对于功能的描述不会仅仅局限于一种。

       有了这个整体的认识之后,我们需求的结果进行细化也便是分析的过程,分析的过程我们把大的问题细化为一些便于处理的子问题。或者说把一个复杂的系统细化都由一些简易的子系统构成。

       然后我们开始进行下一步设计的阶段,这个阶段我们要找到系统中涉及到的一些数据,以及我们要用这些数据会涉及到哪些操作。若是拿面向对象的思想来说,这步就是我们找到系统中会涉及到哪些个对象,这些对象会有哪些操作。将这些找出来之后,我们就可以进行下一个具体实施的阶段,细化和编码。

       细化和编码的工作是基于设计阶段的工作,如果设计阶段能够很好的完成,那么这一阶段的工作对于熟练的程序员来说只是把文档转化为代码。当然这阶段我们还要注意的是要根据具体的问题来选择我们究竟要使用什么样的语言,才能更好的处理我们所遇到的问题。这样之后,我们才能够写出适当的代码,而在写代码的时候还要注意代码的规范,为后来的维护工作打好基础。

       如果上述工作全部完成,我们可以进行验证和测试了(因为这些是代码后的事情,这里便不做细说了)。

       当然上边所说的所有的这些步骤,不是说一成不变的,有时候我们要调整一下顺序或者更合适的说法是后面的步骤会对前面的步骤有一个反馈。比如编码阶段,我们可能会发现设计阶段存在的一些考虑不周的问题,这样我们可能会通过编码而改变了设计。所以说,整个程序设计过程中所涉及到的这些步骤是一个有机的整体,他们互相的影响。我们只有把握好这些步骤中每一步,对这些步骤做好调解,才能够写出一个优秀的程序。

 

原创粉丝点击