Java, 一杯浓浓的咖啡伴你到深夜

《Effective Java》Study Notes

Programming Language Guide
by Joshua Bloch
Foreword by Guy Steele

Clike on the chapter title to see the notes, respectivelly.

Chapter 1. Introduction

No compelling words, neglect.

Chapter 2. Creating and Destorying Objects 

Item 1: Consider providing static factory methods instread of constructs
Item 2: Enforce the singleton property with a private constructor
Item 3: Enforce noninstantiability with a private constructor
Item 4: Avoid creating duplicate objects
Item 5: Eliminate obsolete object reference
Item 6: Avoid finalizers

Chapter 3. Methods Common to All Objects

Item 7: Obey the general contract when overriding
Item 8: Always override hashCode when you override equals
Item 9: Always override toString

Item 10: Override clone judiciously
Item 11: Consider implementing Comparable

Chapter 4. Classes and Interfaces

Item 12: Minimize the accessibility of classes and members
Item 13: Favor immutability
Item 14: Favor composition over inheritance

Item 15: Design and document for inheritance or else prohibit it
Item 16: Prefer interfaces to abstract classes
Item 17: Use interfaces only to define types
Item 18: Favor static member classes over nonstatic

Chapter 5. Substitutes for C Constructs

None of my business, neglect.

Chapter 6. Methods

Item 23: Check parameters for validity
Item 24: Make defensive copies when needed
Item 25: Design method signatures carefully
Item 26: Use overloading judiciously
Item 27: Return zero-length arrays, not nulls

Item 28: Write doc comments for all exposed API elements

Chapter 7. General Programming

Item 29: Minimize the scope of local variables
Item 30: Know and use the libraries
Item 31: Avoid float and double if exact answers are required
Item 32: Avoid strings where other types are more appropriate
Item 33: Beware the performance of string concatenation
Item 34: Refer to objects by their interfaces
Item 35: Prefer interfaces to reflection
Item 36: Use native methods judiciously

Item 37: Optimize judiciously
Item 38: Adhere to generally accepted naming conventions

posted on 2005-12-16 18:03 Scott@JAVA 阅读(652) 评论(0)  编辑  收藏 所属分类: Jave SE 6