`
vking_wang
  • 浏览: 10052 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Effective Java:前言

 
阅读更多

如果一个同事跟你说:“我的配偶今天晚上在家制造了特别的晚餐,你愿意参加吗?”你的脑子应该会闪过三个念头:首先,你被邀请去参加晚餐;第二,英语不是你同事的母语;最后,一堆费解。

如果你学过外语并试图在课堂之外使用,你肯定知道你得掌握三件事:这门语言是如何组织的(语法)、如何命名你想说的事物(词汇)、如何用习惯并有效的方式表达出日常的事物(用法)。课堂上通常仅仅涵盖前两点,而当你试图让对方明白你的意思时,你会发现本地人常常对你的表述忍俊不禁。

编程语言同样如此。你必须掌握核心语言:它是面向算法的,还是面向函数的,或者面向对象的?你必须掌握词汇:标准类库提供了哪些数据结构、操作、工具?你还必须知道如何用习惯并有效的方式组织你的代码。编程语言的书籍通常只涵盖前两点,或者仅仅蜻蜓点水地讨论一下用法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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics