没研究过此书中代码所使用的Fortan和PL/I这两种语言,不过之前读过诸如Writing Solid Code、The Practice of Programming、编程珠玑一类的书,发现它们的Tips都是很类似的,比如:可读性、模块化、防御性编程、浮点计算和判等、数据结构决定程序、测试,等等。此书不知是不是编程建议类书籍的滥觞。
个人认为如果不是这两种语言的使用者,并且不打算为读这本书而专门学习,但具有其他语言的编程经验和类似书籍的阅读体验,此书速读一下Rules足矣。这大概也是在网上搜索此书经常发现是一份3页的Rules合集的原因。当然,读的时候应该联想之前的编程经验才能有所体会。
不过对于“Avoid temporary variables”这一条存疑。此书的示例中F1和F2仅仅是保存了两个中间结果,我认为在两种情况下,还是应该使用临时变量的:
1.具有实际意义,增加可读性——不过此时似乎又不应该仅仅是临时变量了;
2.(如在C中)将一个常用的变量放入寄存器中,避免多次进行存储器引用或函数调用,实例可见于《深入理解计算机系统》(CS:APP)图5-6。