如果一个同事跟你说:“我的配偶今天晚上在家制造了特别的晚餐,你愿意参加吗?”你的脑子应该会闪过三个念头:首先,你被邀请去参加晚餐;第二,英语不是你同事的母语;最后,一堆费解。
如果你学过外语并试图在课堂之外使用,你肯定知道你得掌握三件事:这门语言是如何组织的(语法)、如何命名你想说的事物(词汇)、如何用习惯并有效的方式表达出日常的事物(用法)。课堂上通常仅仅涵盖前两点,而当你试图让对方明白你的意思时,你会发现本地人常常对你的表述忍俊不禁。
编程语言同样如此。你必须掌握核心语言:它是面向算法的,还是面向函数的,或者面向对象的?你必须掌握词汇:标准类库提供了哪些数据结构、操作、工具?你还必须知道如何用习惯并有效的方式组织你的代码。编程语言的书籍通常只涵盖前两点,或者仅仅蜻蜓点水地讨论一下用法usage,这也许是因为前两点在某种程度上容易编写。语法和词汇是语言自身的属性,而usage则是使用这门语言的社区的特性。
例如,Java语言是支持单根继承的面向对象语言,在方法内支持命令imperative(面向语句)的编码风格。Java库支持图形显示、网络、分布计算和安全。但是,实践中如何更好地使用这门语言呢?
还有另外一点,程序不同于口头句子,不同于大多数书籍杂志,它是会随着时间而变化的。所以仅仅写出有效地运行并能被别人看懂的代码往往是不够的,还需要组织代码以便它易于修改。对于一个任务T可能有10种编码方式,其中7种是不合适的、低效的、或者难以理解的;另外3种中,哪一个更接近于下一年版本中任务T的要求呢?
你能从大量书籍中学到Java编程语言的语法,包括The Java™ Programming Language
by Arnold, Gosling, and Holmes [Arnold05] 或者 The Java™ Language Specification by Gosling, Joy, yours truly, and Bracha [JLS];同样,也有海量的关于Java编程语言库和API方面的图书。
本书则满足你的第三个需求:习惯并高效的usage。作者在Sun公司多年来从事Java编程语言的扩展、实现和使用,同时阅读了其他人的大量代码,包括我的代码。在本书中作者提出了很好的建议,并系统地组织起来,目的是如何组织代码以便它更好地工作,以便别人能更好地理解,以便将来做变更和增强时不至于头疼。这样程序能变得令人愉悦、优雅、优美。
Guy L. Steele Jr.
Burlington, Massachusetts
April 2001
分享到:
相关推荐
Effective C++:改善程序与设计的55个具体做法(中文第三版)亚马逊图书 放到Kindle上就可以浏览学习,因为亚马逊软件有防护功能,电脑上无法使用,切记!!!!
Effective JavaScript is organized around 68 proven approaches for writing better JavaScript, backed by concrete examples. You’ll learn how to choose the right programming style for each project, ...
* 跨平台性:Java语言可以在多种平台上运行,包括Windows、Linux、Mac OS等。 * 安全性:Java语言具有内置的安全机制,保护用户免受恶意代码的攻击。 * 可靠性:Java语言具有强大的错误处理机制,能够快速恢复程序...
7. **终结方法与清理器**:Java中的`finalize`方法往往不推荐使用,因为它不能保证执行,性能影响且可能导致不可预测的行为。 8. **try-with-resources**:从Java 7开始,try-with-resources语句使得资源的自动关闭...
Effective-Java:Effective Java的所有练习程序
《EffectiveJava》是Java开发领域的经典著作,由Joshua Bloch撰写,提供了许多关于如何编写高效、可维护和设计良好的Java代码的实用建议。这本书的第2版在原有的基础上进行了更新,以适应Java语言的新发展。现在,...
标题“effective-java.pdf”与描述“effective-java.pdf”表明本文档是关于Java编程实践的指南,且内容可能来自于一本名为《Effective Java》的书籍,该书是由Joshua Bloch编写,被广泛认为是Java编程的权威指南。...
《Effective Java》是Java开发领域的经典著作,由Joshua Bloch撰写,中文版第二版更是深受广大Java开发者喜爱。这本书提供了许多实用的编程实践和经验教训,帮助开发者编写出更高效、可维护的Java代码。这里我们将...
Effective TypeScript: Writing Typed JavaScript that Scales 预发布版 Author: Dan Vanderkam Publisher: by O’Reilly Media Edition: January 2020 Type: epub, azw3, pdf
有效的Java 有效的java se 书中的例子 建造者模式 第 2 条:当面临许多构造函数参数时考虑构建器 伸缩构造函数模式有效,但是当参数很多时很难编写客户端代码,而且更难阅读 Builder 模式模拟命名的可选参数 Class....
在编程领域,特别是Java开发中,"Effective Java"是一本非常经典的书籍,由Joshua Bloch撰写,书中提出了一系列最佳实践和设计原则,以帮助开发者编写出更高效、更安全的代码。根据提供的标题和描述,我们将探讨三个...
java项目经验源码 Effective Java 作者: 实践《Effective Java》书中的经验法则示例代码,结合Java源码来理解这些最佳实践,并应用于实际项目。 Effective Java, Third Edition Updated for Java 9, Best practices...
《Effective Enterprise Java》是Java开发领域的一本经典著作,由著名技术专家Bill Venners编著,被广大Java开发者誉为“四大名著”之一。这本书深入探讨了在企业级Java开发中如何写出高效、可维护和易于理解的代码...
"Effective Java 读书分享" 《Effective Java》读书分享.pptx 是一本 Java 编程语言指南,旨在帮助开发者编写高质量、可维护的 Java 代码。该书包含 90 个条目,每个条目讨论一条规则,涵盖了 Java 编程语言的...
- Item7:Java中的finalizers用于清理对象资源,但不应依赖其执行,因为它们可能不会被调用,而且会影响垃圾收集性能。 4. **通用方法设计** - Item8:equals方法应与`==`操作符一致,同时对所有字段进行比较。...
多位行业内的专家为本书撰写了推荐序言,分享了他们对于本书价值的看法。例如,Fred Wild(Advantage Software Technologies的副总裁)提到,在读完这本书之后,他感觉自己仿佛经历了一次与C++大师级程序员一起的...
Effective Java 3 学习记录 本学习记录主要介绍了 Effective Java 3 中的静态工厂方法和 Builder 模式两部分内容。 一、静态工厂方法 静态工厂方法是指返回类实例的命名规则,例如:from、of、valueOf、instance ...