August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
程序中所使用的函数应该反映出该程序的基本结构,而函数名则应有效地标识代码的逻辑独立部分。到目前为止,计算器程序在这些方面做得还是比较好的:expression()、term()和primary()直接反映出我们对表达式文法的理解,而函数get()则用来处理表达式输入和单词识别。分析一下主函数main(),我们注意到它主要做了两项逻辑上相互独立的任务。
1.main()函数搭起了程序的整体框架:启动程序、结束程序、处理致命错误。
2.main()函数用一个循环来计算表达式。
理想情况下,一个函数只实现一个独立的逻辑功能(参见4.5.1节)。而main()实现了两个功能,这使得程序结构变得有些模糊。一种显然的改进方法是将表达式计算循环从主函数中分离出来,实现为calculate()函数:
修改后的代码更直接地反映了程序的结构,更易于理解。
Read now
Unlock full access