下载
第1章 风 格
人们看到最好的作家有时并不理会修辞学的规则。还好,当他们这样做虽然付
出了违反常规的代价,读者还经常能从句子中发现某些具有补偿性的价值。除非作
者自己也明确其做法的意思,否则最好还是按规矩做。
William Strunk和E. B. White,《风格的要素》
下面这段代码取自一个许多年前写的大程序:
这段代码写得很仔细,具有很好的格式。它所在的程序也工作得很好。写这个系统的程序员会
对他们的工作感到骄傲。但是这段摘录却会把细心的读者搞糊涂:新加坡、文莱、波兰和意大
利之间有什么关系?为什么在注释里没有提到意大利?由于注释与代码不同,其中必然有一个
有错,也可能两个都不对。这段代码经过了执行和测试,所以它可能没有问题。注释中对提到
的三个国家间的关系没有讲清楚,如果你要维护这些代码,就必须知道更多的东西。
上面这几行实际代码是非常典型的:大致上写得不错,但也还存在许多应该改进的地方。
本书关心的是程序设计实践,关心怎样写出实际的程序。我们的目的是帮助读者写出这
样的软件,它至少像上面的代码所在的程序那样工作得非常好,而同时又能避免那些污点和
弱点。我们将讨论如何从一开始就写出更好的代码,以及如何在代码的发展过程中进一步改
进它。
我们将从一个很平凡的地方入手,首先讨论程序设计的风格问题。风格的作用主要就是
使代码容易读,无论是对程序员本人,还是对其他人。好的风格对于好的程序设计具有关键
性作用。我们希望最先谈论风格,也是为了使读者在阅读本书其余部分时能特别注意这个问
题。
写好一个程序,当然需要使它符合语法规则、修正其中的错误和使它运行得足够快,但
是实际应该做的远比这多得多。程序不仅需要给计算机读,也要给程序员读。一个写得好的
程序比那些写得差的程序更容易读、更容易修改。经过了如何写好程序的训练,生产的代码
更可能是正确的。幸运的是,这种训练并不太困难。
程序设计风格的原则根源于由实际经验中得到的常识,它不是随意的规则或者处方。代
码应该是清楚的和简单的
—
具有直截了当的逻辑、自然的表达式、通行的语言使用方式、
- 1
- 2
前往页