如果一个同事跟你说:“我的配偶今天晚上在家制造了特别的晚餐,你愿意参加吗?”你的脑子应该会闪过三个念头:首先,你被邀请去参加晚餐;第二,英语不是你同事的母语;最后,一堆费解。
如果你学过外语并试图在课堂之外使用,你肯定知道你得掌握三件事:这门语言是如何组织的(语法)、如何命名你想说的事物(词汇)、如何用习惯并有效的方式表达出日常的事物(用法)。课堂上通常仅仅涵盖前两点,而当你试图让对方明白你的意思时,你会发现本地人常常对你的表述忍俊不禁。
编程语言同样如此。你必须掌握核心语言:它是面向算法的,还是面向函数的,或者面向对象的?你必须掌握词汇:标准类库提供了哪些数据结构、操作、工具?你还必须知道如何用习惯并有效的方式组织你的代码。编程语言的书籍通常只涵盖前两点,或者仅仅蜻蜓点水地讨论一下用法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 SQL:编写高质量SQL语句的61个有效方法 AW.Effective.SQL.61.Specific.Ways.to.Write.Better.SQL.
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, ...
Effective-Java:Effective Java的所有练习程序
《Effective Java》第三版中文版目录 第一章 介绍 1 第二章 创建和销毁对象 4 1 考虑用静态工厂方法替换构造器 4 2 当遇到多个构造器参
有效的 Java(第 2 版)示例
Effective Java读书笔记.pdf
有效的Java 有效的java se 书中的例子 建造者模式 第 2 条:当面临许多构造函数参数时考虑构建器 伸缩构造函数模式有效,但是当参数很多时很难编写客户端代码,而且更难阅读 Builder 模式模拟命名的可选参数 Class....
effective-java.pdf
java项目经验源码 Effective Java 作者: 实践《Effective Java》书中的经验法则示例代码,结合Java源码来理解这些最佳实践,并应用于实际项目。 Effective Java, Third Edition Updated for Java 9, Best practices...
Effective java 3 学习记录
Effective-Java Effective Java中文版第二版示例代码
Effective HPA:预测未来的弹性伸缩产品.doc
effective java 读书笔记,第二版自己摘要并翻译,以备速查。
java源码测试 effective-java 读Effective Java(中文版第3版)阅读源码测试案列
Effective Java读书笔记,记载了大部分我觉的有用的东西,前半部分有代码说明,但后半部分的代码,太过琐碎,就没有整理
《Effective Java》读书分享.pptx
Effective TypeScript: Writing Typed JavaScript that Scales 预发布版 Author: Dan Vanderkam Publisher: by O’Reilly Media Edition: January 2020 Type: epub, azw3, pdf