最近在看Effective Java这本书,在这里简单记录下书中78条建议,因为有一定的编程经验,书中一大半条理规范都在践行中,还有一部分在用但是不知道为什么这么用,当然如枚举、并发等,还是需要多加以实践。
- 考虑用静态工厂方法代替构造器
- 遇到多个构造器参数时要考虑用构建器
- 用私有构造器或者枚举类型强化Singleton属性
- 通过私有构造器强化不可实例化的能力
- 避免创建不必要的对象
- 消除过期的对象引用
- 避免使用终结方法
- 覆盖equals时请遵守通用约定
- 覆盖equals时总要覆盖hashCode
- 始终要覆盖toString
- 谨慎地覆盖clone
- 考虑实现Comparable接口
- 使类和成员的可访问性最小化
- 在公有类中使用访问方法而非公有域
- 使可变性最小化
- 组合大于继承
- 要么为继承而设计,并提供文档说明,要么就禁止继承
- 接口优于抽象类
- 接口只用于定义类型
- 类层次优先于标签类
- 用函数对象表示策略
- 优先考虑静态成员类
- 请不要在新代码中使用原生态类型
- 消除非受检警告
- 列表优先于数组
- 优先考虑泛型
- 优先考虑泛型方法
- 利用有限制通配符来提升API的灵活性
- 优先考虑类型安全的异构容器
- 用enu