C语言学习指南:从规范编程到专业级开发
上QQ阅读APP看书,第一时间看更新

2.4.2 了解函数的语句块

函数的语句块[1](function block)用来囊括函数在执行任务的过程中所使用的语句。

函数的语句块里面可以有一条或多条语句。比方说,Hello, world!程序的main函数里面有两条语句。下面这个main.c程序的main函数只包含一条语句,也就是return 0;语句:

函数的语句块并没有某个确定的最佳尺寸,但一般来说,不应超过终端窗口能显示的行数(也就是25行),或者不应超过一张纸所能打印的行数(也就是60行),这样的函数总是比更长的函数要好。我们应该像《金发姑娘与三只熊》(Goldilocks and the Three Bears)那个故事所说的那样,在两个端点之间寻找平衡点(Goldilocks target,也就是古迪洛克点),具体到函数的行数来说,就是25~50行。另外要记得,短一些的函数通常总是比长一些的要好。

当然,在某些情况下,确实需要写长一些的函数。然而,这种情况出现得比较少,一般来说,还是应该尽量把函数写短。我们的目标是把大问题拆解成多个有意义的小问题,并分别予以解决,把函数写得短一些能够帮助我们迅速了解并解决这些问题。

[1] 函数的语句块又名函数块。作者在后面还会用function body(函数体,函数的主体部分)来表达类似的概念。——译者注