跳至主要内容

可有可無者(Dispensables)

「可有可無者」是你程式碼中不應該存在的東西。它們是雜亂、多餘的包袱、從未被使用的「以防萬一」邏輯。如果你移除它們,程式碼會完全相同地運作(或更好),但會更乾淨、更容易理解、更快修改。

把它想像成打掃你的房子。你有一個抽屜裡裝滿舊電線、壞掉的筆和 2015 年的收據。它們不會幫助你過生活;它們只是讓你更難找到那一條你真正需要的可用充電線。

可有可無的氣味通常是最容易修復的:只要刪除它們!但有時候,它們藏在眼前,偽裝成「有幫助的」註釋或「面向未來的」類別。

氣味列表

以下是這個類別中的經典氣味:

註釋

當你覺得需要寫註釋來解釋程式碼在做什麼時,通常意味著程式碼不夠清晰。

重複程式碼

相同的程式碼結構出現在多個地方。這是複製貼上程式設計的極致表現。

冗員類別

一個做得不夠多、不足以證明其存在價值的類別。它只是佔用空間。

純資料類別

一個只有欄位和 getter/setter 但沒有行為的類別。這表明邏輯放錯了地方。

死碼

不再使用的變數、參數、欄位、方法或類別(通常是因為它已過時)。

投機通用性

「我會添加這個鉤子/介面/參數以防將來需要。」(劇透:你不會需要的)。

古怪解法

問題以與專案其他部分不同的方式解決。它像個痛處一樣突出。


在這個部分,我們將看看如何識別這些雜亂並自信地按下刪除鍵(或將其重構成有用的東西)。