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

          主站蜘蛛池模板: 河南省| 台中县| 新建县| 射阳县| 罗源县| 陇西县| 新安县| 二连浩特市| 贺兰县| 肃南| 商水县| 罗城| 康乐县| 关岭| 奎屯市| 琼中| 莱西市| 台山市| 峨眉山市| 隆子县| 海原县| 灵山县| 濮阳市| 平顺县| 车致| 简阳市| 正阳县| 治多县| 玉环县| 绥滨县| 白朗县| 调兵山市| 昭苏县| 崇明县| 德钦县| 黑龙江省| 云霄县| 南岸区| 台南市| 武乡县| 花莲县|