模块化程序设计方法
在程序设计与开发中,随着解决问题的复杂化,编写程序的代码也更加复杂。一方面,大量的程序语句会使程序的逻辑结构产生混乱,给程序的编写、阅读和维护带来困难;
另一方面,随着语句的逐渐增多,容易产生功能类似的语句块的重复编写,从而降低程序设计的效率。模块化程序设计方法较好地解决了这些问题。
该方法的基本思想:采用自顶向下的问题分析方法进行系统分析,采用自顶向下的模块化设计方法进行系统设计和实现。
自顶向下问题分析方法:把复杂问题按功能分解成若干个子问题,每个子问题又分解成若干个更小的小问题,逐步细化,直到每个小问题都容易实现。这样,原来复杂问题的求解就可以用这些小问题的求解来实现。
自顶向下模块化设计方法:把求解每个小问题的算法和程序称为一个功能模块,简称模块。这样,一个解决大问题的程序,可以分解成多个解决小问题的模块。各模块可以单独设计,然后将求解所有小问题的模块按一定的规则组合成求解大问题的程序。
这样,一个复杂程序就由多个功能模块组合而成,每个功能模块实现某个特定功能,主控模块main()通过调用各个功能模块实现程序的功能。
在进行模块化设计时,一般遵循模块独立性原则,尽量减少模块间的耦合性,使模块间的联系尽量简单。具体体现在:
- 模块功能独立:一个模块只完成一项指定的功能,模块间关系简单,模块间的通信只通过函数参数进行传递。
- 模块规模适当:模块太大,降低模块的可读性,模块太小,增加程序的复杂度。就语句行数来衡量,一般一个模块不超过50行语句,既便于思考与设计,也利于阅读理解和维护。
- 单入口和单出口:一个模块一般只有一个入口和一个出口,禁用goto语句。
- 数据局部化:模块内一般只用局部变量,慎用全局变量。
函数是C语言的基本组成单位,C语言就是采用函数机制来实现功能模块,每个功能块由一个或多个函数来实现。