什麼是Code smells? 簡單來說, 是指在軟體開發過程中, 描述不良的程式設計或實作所擁有的常見特徵. 這些特徵會導致程式碼難以了解、維護或擴展. 有哪...
Conditional Complexity 簡介 在程式碼區塊使用不同的冗長的if/else/switch判斷條件, 該函數的複雜度越來越大. 重構前範例 假...
Data clump 簡介 有些欄位會一起出現在不同的class與參數列表.當一個系統的各處程式碼常出現這些欄位且形影不離, 勢必得思考他們與類別或參數列表的關...
Feature envy 簡介 當有個方法,他處理眾多的欄位、函數來自於別的class, 這方法稱之為feature envy. 重構前範例 假設有位富人, 聘...
Replace Nested Conditional with Guard Clauses 簡介 假如你有一組巢狀式條件, 且很難去了解正常的程式碼執行流程.此...
Breaking Yo-Yo Hierarchies 簡介 假如你在尋找一個方法的具體實作, 必須在這方法的類別階層裡上上下下尋找.這種階層稱為Yo-Yo Hi...
Replace Method with Method Object 簡介 假如有個很長的函數, 有很多的區域變數且交織在一起, 難以用Extract Metho...
Replace Constructor with Creation Method 簡介 假如有個類別, 它有很多的建構函數, 對使用者來說, 會混淆何時該呼叫哪...
程式接縫 Seam 簡介 定義: 程式碼裡面特殊的一個點, 在這些點上不需做任何更改即可達到改變程式行為的目的 如何讓一個程式碼做改變呢? 假設原有個fun...
新生方法 重構前 假如有個類別TransactionGate, 用來處理每個交易的日期設定, 並賦予manager做處理. public class Trans...