函数的扇入和扇出
定义
- 函数扇入:一个函数被其它函数调用的次数,称为该函数的扇入。一个函数的扇入越大,说明该函数的复用性越好。
- 函数扇出:一个函数调用其它函数的次数,称为该函数的扇出。扇出越大,设计该函数时需要考虑的问题就越多,因而复杂性就越高。
程序中函数的扇入数目尽量多,扇出数目不宜大多。
建议
- 扇出越大说明函数的效率越高,但不能违背函数间的独立性而单纯地追求高扇入。
- 扇入越大说明该函数的功能越复杂,需要控制和协调过多的下级函数。
- 扇出过小,如总是 1,表明函数的调用层次可能过多, 这样不利程序阅读和函数结构的分析, 并且程序运行时会对系统资源如堆栈空间等造成压力。
- 函数较合理的扇出(调度函数除外)通常是 3-5。扇出太大,一般是由于缺乏中间层次,可适当增加中间层次的函数。扇出太小,可把下级函数进一 步分解多个函数,或合并到上级函数中。当然分解或合并函数时,不能改变要实现的功能, 也不能违背函数间的独立性。
较良好的软件结构通常是:顶层函数的扇出 较高,中层函数的扇出较少,而底层函数则扇入到公共模块中。