August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
回忆一下,我们使用'8'表示Token中包含一个数值,这有点奇怪。实际上,采用什么值表示数值类型的单词并不重要,只要该值能够与标识其他单词类型的值区分开即可。不过,这种处理方式使得代码看起来有点古怪,我们应该使用注释语句进行相应的说明。
坦白说,我们也犯过一些错误,比如错敲了'0'而不是'8',因为我们忘记了到底选的是哪个值来标识数值型单词。换句话说,直接在代码中用'8'来标识数值型单词是很草率的,而且难以记忆,很容易造成人为错误——实际上'8'就是我们在4.3.1节中曾经提到的应该避免的“魔术常量”。我们应该为该表示数值类型单词的常量引入一个符号名:
const修饰符告诉编译器我们定义了一个不能被改变的对象:例如对number='0',编译器将会给出错误信息。定义了字符常量number以后,我们就不必显式地用'8'来表示数值型单词了。primary函数中的相应代码片段修改如下:
这段代码不再需要更多注释了。实际上,代码本身直接而又清晰地表达出的内容,我们就不应再写注释了。如果频繁地用注释来解释程序的含义,通常表明你的代码应该改进了。 ...