在每一个结构的单元里面,人们需要明确它的功能,也就是这一段程序需要输入什么数据,需要得到什么样的数据。每个处理单元是完成某个特定的功能,把这些完成每一个功能的模块组合起来就可以完成整个软件的功能。这种处理单元在计算机编程语言里面,可以非常方便的被表达为函数。针对每一个处理模块,人们需要进一步分解,大的功能由小的功能单元组成,函数互相调用被包装成新的函数,这就是层层分解,然后层层调用组合的方法。
其实无论是采用什么样的编程思想,具体到每一个模块,每一个功能单元,每一个函数的内部实现,都是离不开上述三种结构的指令流。从这个意义上来说,命令式编程思想是最基本的,也是包含在其他编程思想之中的。
使用结构化编程,人们需要明确整个系统的功能目标,然后层层分解为一系列指令的结构化集合,当每一个分解的功能都完成的时候,整个的软件也就完成了。这就是结构化编程里面说的:自顶向下的分解,分层去解决问题。这个思想对软件行业的影响是很巨大的,甚至可以说是结构化程序处理思想带来的最深刻的见解。从那个时候起,所有的大型软件,其复杂的功能都进行了分模块和分层处理。
在结构化程序设计流行之后,软件基本都进行了分层分模块,同时,设计的过程完整的贯彻了自顶向下逐步求精,自底向上逐步层层实现的方法。这是一种目标导向的设计方法,一切以完成设计的目标为瞄准点,为软件的设定了非常清晰的起点和终点,是软件开发历史上一次非常重要的思想革新。
结构化编程的核心是各种的函数,好的结构化程序可以让这些函数的使用频率遵循幂律的分布。比如一个软件系统,我们计算每个函数被使用的次数,这个时候,设计良好的系统里面你会发现,少部分函数被频繁的使用,使用的次数很多,而大量的函数则使用次数比较少。这就是幂律的分布规律,这样的分布说明这个软件的设计非常具有弹性,用最少的代码完成了丰富的功能。
以现实模拟为中心