引言介绍了书的目的,行文逻辑,名词约定,大概内容,阅读方式
本书目标
帮助读者最有效的使用Java语言和基本类库。主要是java.lang、java.util,包括部分java.util.concurrent和java.io
这本书更像一本参考书,通读全文后,也不需要刻意记忆细节,在写代码时,遇到有疑问的地方可以回头来翻阅。书中的10章内容(除了引言),都是相对独立的,不需要从头读到尾,刻意挑选自己感兴趣的内容读,但是最好每次读完一个章节。
本书的很多规则都是清晰性和简洁性引申而来的:
- 模块应该职责清晰,一个模块干一件事
- 合理控制模块的粒度(具体怎么控制?以后探讨,这个视具体情况而定,但是应该也有一些规律可循)
- 代码应该被重用,而不是拷贝
- 模块间的依赖性尽可能小
- 错误应该尽早检测出来,最好在编译时刻,越晚被发现的错误,修复代价可能越大。在定义API时,如果有必要让用户使用时检查异常,应该在接口定义时抛出自定义异常。
本书的规则不会百分之百地适用于任何时刻和任何场合
不应该盲目地遵从这些规则,但是在偶尔的情况下,有了充分理由后去打破这些规则也是允许的。但已经不在本书的讨论范围了。
同大多数学科一样,学习编程艺术首先要学会基本的规则,然后才能知道什么时候可以打破这些规则。
本书讨论的是:如何编写出清晰、正确、可用、健壮、灵活和可维护性的程序。