iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0

Yes

重構的時機

有的人會說,因為沒時間,所以無法重構。我認為並不是的。事實是你因為放著小問題不管,任憑系統不斷依現有的亂亂的樣子一直長大,等到你發現加東西很困難了,這時才想要重構,問題已經很大了,重構起來當然很辛苦,當然也就沒時間重構了。

所以跟測試一樣,你不是沒時間重構,你就是都不重構才會沒時間。

5 Lines of Code

「5 Lines of Code」是筆者認為判斷是否要重構的一個重要指標。任何 method、function…等,只要超過五行,那你就可以開始考慮重構了。

當然,這不代表你一定不能超過五行,也不是不超過五行就代表設計很好。這只是一個重要觀察指標,不是一個一定要死守的規定。


上一篇
Day 4 用測項「逼」出輪帶表
下一篇
Day 6 Extract Method
系列文
『請你跟我這樣做』- 30 天 TDD 出一個 SLOT 算分器30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
高魁良
iT邦新手 1 級 ‧ 2023-09-15 13:22:51

感謝分享!雖然作者大大已經強調 5 LoC 不是一個絕對的標準,但畢竟抓了一個數字出來。好奇作者對於這篇網誌「Abstraction is not Indirection」的看法......

Kuma iT邦新手 3 級 ‧ 2023-09-16 08:01:04 檢舉

嗨!感謝回覆。

5 Lines of code 這個概念非我原創,這是這本書裡提出來的:https://www.tenlong.com.tw/products/9781617298318

但其實也就是一個概念,輔助我們判斷何時差不多該考慮重構了,僅此而已。

至於誰跟誰抽一起,抽去哪裡,情況有變時要不要 inline 回來,還是得回到各語言特性與各 domain 的變化趨勢。

您這篇我還沒細看,不過標題本身就很吸引人。抽象很重要,但很多人沒弄好,反而變得不直覺。詳細的話…待我抽空細看再來討論吧!

我要留言

立即登入留言