Scott@JAVA

          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
          equals
          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 閱讀(678) 評論(0)  編輯  收藏 所屬分類: Jave SE 6

          主站蜘蛛池模板: 新余市| 西乌| 太仆寺旗| 广宗县| 云林县| 上栗县| 淅川县| 南充市| 南阳市| 江永县| 甘南县| 静海县| 麟游县| 崇阳县| 额尔古纳市| 延庆县| 白玉县| 襄垣县| 泸定县| 将乐县| 东丽区| 南城县| 鹤庆县| 乌拉特前旗| 玉门市| 汾阳市| 靖安县| 白水县| 社会| 靖宇县| 大丰市| 新安县| 丽江市| 汉阴县| 沿河| 福贡县| 喜德县| 彭州市| 怀化市| 龙游县| 沧州市|