iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

程式碼氣味到重構之路 Code Smells to Refactorings 系列

程式碼氣味(Code Smell)已經是一個軟體開發中廣為人知的概念,但是每一種氣味能夠對應到特定的重構手法(Refactorings),氣味與重構技巧之間的多對多關係這樣的概念,相較之下並沒有這麼普及。本次想要挑戰統整這些觀念,為自己的專業深度打底,同時也希望能分享給更多人知道。

本次挑戰特別之處在於草稿為英文寫作,發表當日才翻譯為中文。因為中文為母語可能會加上更多詮釋而非逐字翻譯,決定採用中英文併陳的方式呈現。

鐵人鍊成 | 共 37 篇文章 | 17 人訂閱 訂閱系列文 RSS系列文

Couplers > Message Chains 訊息鏈與重構

氣味的徵兆 訊息鏈(Message Chains)又被稱為「火車殘骸(Train Wrecks)」,當我們執行方法時會需要呼叫一個物件,然後該物件又需要呼叫另外...

2023-10-01 ‧ 由 Bater 分享

Couplers > Middle Man 中間人與重構

氣味的徵兆 如果一個類別除了當作另外一個類別的中間通道之外,沒有提供更多額外的價值,我們可以稱呼這種情況為「中間人(Middle Man)」氣味。物件導向中一個...

2023-10-02 ‧ 由 Bater 分享

Change Preventers > Combinatorial Explosion 組合爆發與重構

氣味的徵兆 這個程式碼氣味發生在多個程式碼片段執行「幾乎相同」的任務,但卻使用了不同的資料或行為組合。請特別留意「幾乎相同」而不是真正完全相同。 如果當你注意到...

2023-10-03 ‧ 由 Bater 分享

Couplers > Indecent Exposure 過度揭露與重構

氣味的徵兆 當我們發現類別或方法毫無節操的對外洩漏內部實作細節時,我們可能發現了「過度揭露」氣味(Indecent Exposure or Excessive...

2023-10-04 ‧ 由 Bater 分享

Dispensables > Oddball Solution 歧異解方與重構

氣味的徵兆 當你在專案內的不同地方發現存在實現相同功能,但卻是不同實作細節的程式碼片段,這種現象可被稱為「歧異解方(Oddball Solution)」氣味,或...

2023-10-05 ‧ 由 Bater 分享

Other Smell > Incomplete Library Class 不完美的外部套件與重構

前言 今天是第三十六天,這也是本系列介紹的最後一個程式碼氣味。明天總結出新版本的氣味對照重構表後,終於可以完成這次的鐵人賽挑戰。昨天剛巧看見龍哥分享資深工程師身...

2023-10-06 ‧ 由 Bater 分享

Smells to Refactorings Quick Reference Guide

完賽宣言 30又7天的挑戰終於完成,真是一趟特別的旅程。這一次的挑戰成果整理為新版本的氣味與重構對照表,連結如下: Smells to Refactorings...

2023-10-07 ‧ 由 Bater 分享