1、结构化设计核心思想
1966年,C.Bohm和G.Jacopini首先证明了只有顺序、选择和循环三种基本控制结构就能实现任何“单入口、单出口”的程序,这个结构化程序设计奠定了理论基础。1971年,IBM公司的Mills进一步提出“程序应该只有一个入口和一个出口”的论断,进一步补充了结构化程序的规则。那么,究竟什么是结构化程序设计(Structured Programming)呢?目前还没有一个严格的、为所有人普遍接受的定义。1974年,D.Gries教授将已有的对结构化程序设计的不同解释归纳为13种,现在一个比较流行的定义是:
结构化程序设计是一种进行程序设计的原则和方法,按照这种原则和方法设计的程序具有结构清晰、容易阅读、容易修改、容易验证等特点。
结构化程序设计的基本思路归纳起来有以下3个要点。
(1)、采用顺序、选择和循环三种基本结构作为程序设计的基本单元,用着三种结构编写的程序在语法结构上具有如下4个特点:
a、只有一个入口。
b、只有一个出口。
c、无不可达语句,即不存在永远执行不到的语句。
d、无死循环,即不存在永远都执行不完的循环。
(2)、尽量避免使用goto语句,因为它破坏了结构化风格,并且容易带来错误的隐患。
goto语句可以不受限制的转向程序中(同一函数中)的任何地方,是程序流程随意转向,如果使用不当,不仅有可能造成不可达语句,而且还会造成程序流程混乱,影响程序的可读性。
造成混乱的不是goto语句本身,而是同意语句标号处。
(3)、采用自顶而下(Top-down)、逐步求精(Stepwise refinement)的模块化程序设计方法。