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

          主站蜘蛛池模板: 安泽县| 永丰县| 唐河县| 金山区| 南宁市| 赫章县| 江达县| 什邡市| 南丰县| 泗洪县| 酒泉市| 镇安县| 昌乐县| 永宁县| 陆良县| 武清区| 晋宁县| 齐齐哈尔市| 通江县| 呼和浩特市| 仙桃市| 兴隆县| 凌源市| 靖安县| 云浮市| 边坝县| 新和县| 景东| 历史| 石景山区| 肥东县| 呼和浩特市| 上栗县| 常宁市| 新乡市| 嘉鱼县| 福安市| 岢岚县| 中方县| 德化县| 台北县|