购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

这本书面向专业程序员——对自己的匠艺有浓厚兴趣,且希望通过小改进获得大回报以提高工作能力的软件开发人员。本书作者Kent Beck就是这样一位兢兢业业的专业人士,他始终关注细节,始终关注更大的问题和更广阔的前景。

实践型软件开发人员通常很少关注理论,Kent则不然,他将实践与理论相结合,编写了一本既易读又实用的整洁代码设计指南。

从理论上来说,理论与实践并无二致;而从实践上来说,两者则不尽相同。这个精辟的论断有许多版本,并且被广泛而错误地归功于Albert Einstein和Yogi Berra等人。事实上,这归功于Benjamin Brewster——耶鲁大学的一名学生,发表在1882年的 Yale Literary Magazine 上。感谢QuoteInvestigator.com上专注于文字的极客们,他们永远关注细节。

在将理论与实践相结合的过程中,Kent从底层开始,从代码的微小片段和对小细节的一丝不苟开始,然后逐步上升到更广阔的视角,解释了设计整洁代码的过程,从而让代码在面对不可避免的更改和修正时更加健壮。在撰写这本实践指南时,Kent充分借鉴了现实世界中软件开发经济学和软件工程的核心理论。

这一核心理论简单来说就是:计算机代码的复杂度取决于代码块的结构、耦合度和内聚度。耦合和内聚理论来自我与Ed Yourdon合著的 Structured Design (尤尔登出版社,1975年;普林斯顿大学出版社,1979年)一书。

耦合和内聚只是度量计算机代码复杂度的标准,这不是从执行程序的计算机的角度来看的,而是从试图理解代码的人类的角度来看的。要理解任何程序,无论是创建它、修复它还是修改它,都需要理解眼前的这段代码,以及与它相关的、它所依赖的、影响它或受它影响的其他代码。如果所有代码都连在一起,形成一个整体,形成认知心理学家所说的“格式塔”,那么理解起来就会更容易,这就是内聚。如果代码与其他代码之间的关系较少、相对较弱或高度受限,则更容易理解,这就是耦合。耦合和内聚实际上都是关于大脑如何处理复杂系统的问题。这就是理论。现在我们来谈谈实践的细节,并结合理论来理解这一切。Kent Beck将为你指点迷津。

——拉里·康斯坦丁(Larry Constantine) [1]
2023年10月9日,于马萨诸塞州罗利市

[1] 拉里·康斯坦丁曾任葡萄牙马德拉大学和澳大利亚悉尼科技大学教授。他发表过200多篇论文,出版过30多本书,其中包括与Lucy Lockwood合著的Jolt Award获奖作品 Software for Use (艾迪生-韦斯利出版社,1999年),以及以笔名Lior Samson撰写的15部小说。 lvZzdEIhLJ5hBBNQgVI9V8Cx24/0yyLiA+yxuHLe4y8AcfC6CZsGDyOL14jxe1Zb

点击中间区域
呼出菜单
上一章
目录
下一章
×