相关读书笔记列表
NO.23 检查参数的有效性
非公有的方法我们应该用断言的方法来检查它的参数,而不是使用通常大家所熟悉的检查语句来检测。如果我们使用的开发平台是JDK1.4或者更高级的平台,我们可以使用assert结构;否则我们应该使用一种临时的断言机制。
有些参数在使用过程中是先保存起来,然后在使用的时候再进行调用,就必须做好检查工作,否则程序可能会抛出一些异常让你摸不着头脑(如常见的空指针异常),也不能马上定位问题的所在位置,构造函数正是这种类型的一种体现,所以我们通常对构造函数参数的有效性检查是非常仔细的。
总之,当编写一个方法或者构造函数的时候,应该考虑对应它的参数有哪些限制,并且要把这些限制写到文档中,在方法体的起始处,通过显示的检查来实施这些限制。
NO.24 需要时使用保护性拷贝
假设类的使用者会尽一切手段来破坏这个类的约束条件,在这样的前提下,你必须保护性地设计程序。面对客户的不良行为时仍然能保持健壮性的类。
对于一个非可变类,可以考虑对其构造函数的可变参数采用保护性拷贝,如
对获取参数的get方法也要采用clone的方式返回,如:
记住非零长度的数组总是可变的,尽量使用非可变的对象作为内部组件,这样就不必关心保护性拷贝问题.
NO.25 谨慎设计方法的原型
1、谨慎选择方法的名字
① 选择易于理解的,并且与同一个包中的其他名字风格一致;
② 选择与大众认可的名字一致;
2、不要过于追求提供便利的方法。过多的方法会增加类的学习和使用成本,只有当一个操作被用得非常频繁的时候,才考虑为他提供一个快加的方法。
3、避免过长的参数列表。太长的参数不便于使用者使用,尤其是参数类型相同的时候,很容易产生参数传递错误的问题。避免此类错误的方法:
① 可以把一个方法分解成多个方法;
② 可以创建一个辅助类(helper class)。将参数组织成一个类作为参数传入;
4、对于类型参数,优先使用接口,而不是类。如参数为Map的时候,该方法可以接收Hashtable、HashMap、TreeMap等类型的参数。
5、谨慎使用函数对象
分享到:
相关推荐
"Effective Java读书笔记" Effective Java是一本关于Java编程语言的经典书籍,本笔记主要总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点。 一、Java语言的发展历程 Java语言的发展...
《Effective Java》是Java开发领域的经典著作,作者Joshua Bloch深入浅出地阐述了编写高效、健壮的Java代码的技巧和最佳实践。以下是对该书部分内容的详细解释: 1. **产生和销毁对象** - Item1:静态工厂方法相比...
以下是对《Effective Java》笔记中可能涉及的关键知识点的详细解读: 1. **单例模式**:书中强调了如何正确实现单例模式,推荐使用`enum`来创建线程安全且唯一的实例,避免传统双重检查锁定的潜在问题。 2. **构造...
Effective Java 读书笔记 - 枚举与注解 本文总结了Effective Java 中关于枚举与注解的知识点,涵盖了枚举类型的优点、使用指南、避免使用 int 常量、使用 EnumSet 和 EnumMap 等。 枚举类型的优点 枚举类型提供了...
读书笔记:Effective Java中文版第3版笔记
《Effective Java》是Java...以上仅是《Effective Java》一书中部分核心知识点的概述,实际的读书笔记中会更详细地解释这些概念,并给出具体的示例代码。通过深入学习和实践,开发者可以极大地提升其Java编程的水平。
读书笔记:Effective Java中文版第二版示例、笔记
《Effective Java》是一本经典Java编程指南,作者是Joshua Bloch,这本书深入探讨了如何编写高质量、高效、可维护的Java代码。以下是对压缩包中各章节主要知识点的详细阐述: 1. **第2章 创建和销毁对象** - 单例...
读书笔记:Effective Java中文版学习项目
读书笔记:Java练习包括《Java编程思想》《算法》《Effective Java》等
读书笔记:Effective Java中文版 第2版
读书笔记:Effective Java中文版第二版示例代码
读书笔记:Effective Java 中文版(2版和3版)
读书笔记:读Effective Java中文版第3版阅读源码测试案列
读书笔记:Effective Java 中文版(第2版)总结 (美)Joshua Bloch 著
### Effective Java读书笔记(上) #### 第一章 引言 本书主要针对Java开发者提供了大量实用的编程指导建议,帮助读者提升代码质量和程序性能。在本章节中,我们将重点介绍对象的创建与销毁,以及一些重要的设计...
除了课程内容,阅读官方文档、经典教材如《Head First Java》、《Effective Java》等,以及观看开源项目和在线教程,可以帮助巩固理论知识,提升实践能力。 总之,Java学习笔记旨在为初学者提供全面的学习路径,从...
读书笔记:Effective.Java中文版(第3版)
“新建文本文档.txt”可能是一个简单的文本文件,用于记录学习过程中的笔记或者资源链接,或者可能是教程中的一部分内容,具体用途需打开文件查看。 总的来说,这份“Java学习PDF”是Java初学者宝贵的参考资料,...