程式碼氣味(Code Smell)已經是一個軟體開發中廣為人知的概念,但是每一種氣味能夠對應到特定的重構手法(Refactorings),氣味與重構技巧之間的多對多關係這樣的概念,相較之下並沒有這麼普及。本次想要挑戰統整這些觀念,為自己的專業深度打底,同時也希望能分享給更多人知道。
本次挑戰特別之處在於草稿為英文寫作,發表當日才翻譯為中文。因為中文為母語可能會加上更多詮釋而非逐字翻譯,決定採用中英文併陳的方式呈現。
氣味的徵兆 訊息鏈(Message Chains)又被稱為「火車殘骸(Train Wrecks)」,當我們執行方法時會需要呼叫一個物件,然後該物件又需要呼叫另外...
氣味的徵兆 如果一個類別除了當作另外一個類別的中間通道之外,沒有提供更多額外的價值,我們可以稱呼這種情況為「中間人(Middle Man)」氣味。物件導向中一個...
氣味的徵兆 這個程式碼氣味發生在多個程式碼片段執行「幾乎相同」的任務,但卻使用了不同的資料或行為組合。請特別留意「幾乎相同」而不是真正完全相同。 如果當你注意到...
氣味的徵兆 當我們發現類別或方法毫無節操的對外洩漏內部實作細節時,我們可能發現了「過度揭露」氣味(Indecent Exposure or Excessive...
氣味的徵兆 當你在專案內的不同地方發現存在實現相同功能,但卻是不同實作細節的程式碼片段,這種現象可被稱為「歧異解方(Oddball Solution)」氣味,或...
前言 今天是第三十六天,這也是本系列介紹的最後一個程式碼氣味。明天總結出新版本的氣味對照重構表後,終於可以完成這次的鐵人賽挑戰。昨天剛巧看見龍哥分享資深工程師身...
完賽宣言 30又7天的挑戰終於完成,真是一趟特別的旅程。這一次的挑戰成果整理為新版本的氣味與重構對照表,連結如下: Smells to Refactorings...