Refactoring Read Note (1)

Target

Refactoring book 閱讀筆記

Action Items

  • CH 1 Refactoring a First Example
  • CH 2 Principles in Refactoring
  • CH 3 Bad smells in Code

Quick Start

CH 1 Refactoring a First Example

1.3 分解並重組Statement()

  • 函式應該放在它所使用的資料的所屬 object 內。

1.4 運用多型(polymorphism)取代與價格相關的條件邏輯

switch -> 應該要在物件自己的資料上使用。

CH 2 Principles in Refactoring

2.1 何謂重構

  • 對軟體內部結構的一種調整,目的是在不改變『軟體之可察行為』前提下,
    提高其可理解性,降低其修改成本。
  • 使用一系列重構準則,在不改變『軟體之可察行為』前提下,調整其結構。

2.5 重構的難題

修改介面 Changing Interfaces

讓舊介面呼叫新介面。
千萬不要拷貝函式實作碼,會造成『重複程式碼』(duplicated code)。

何時不該重構?
  • 現有程式碼太過混亂,且不能正常運行。
  • 專案已近最後期限。

CH 3 Bad smells in Code

3.1 Duplicated Code

常出現的地方:解決方式

  • 同一個class:Extract Method
  • subclass:Extract Method
  • 不同的class:Extract Class

    3.2 Long Method

    Solution: Extract Method

    3.3 Large Class

    Solution: Extract Class, Extract Subclass

未完成…

文章目录
  1. 1. Target
  2. 2. Action Items
  3. 3. Quick Start
    1. 3.1. CH 1 Refactoring a First Example
      1. 3.1.1. 1.3 分解並重組Statement()
      2. 3.1.2. 1.4 運用多型(polymorphism)取代與價格相關的條件邏輯
    2. 3.2. CH 2 Principles in Refactoring
      1. 3.2.1. 2.1 何謂重構
      2. 3.2.2. 2.5 重構的難題
        1. 3.2.2.1. 修改介面 Changing Interfaces
        2. 3.2.2.2. 何時不該重構?
    3. 3.3. CH 3 Bad smells in Code
      1. 3.3.1. 3.1 Duplicated Code
      2. 3.3.2. 3.2 Long Method
      3. 3.3.3. 3.3 Large Class
  4. 4. 未完成…
,