Tactical-Forking

image credit : https://faustodelatog.wordpress.com/2020/10/16/tactical-forking/

談到軟體 重構技術債,可能會勾起一堆人痛苦難過的回憶。「重構」鐵定是軟體工程師避免不了的宿命了,就連自己撰寫的程式碼,半年後回頭 Git Blame 時才發現所罵對象原來是自己那般無言。

打從第一份工作,就是持續不斷地面對「重構」,到如今手邊的新專案也需要從堆疊 N 年的產品中重構出來。要如何在地獄中更好地活下來,這當然是資深工程師的各自絕活了。

在看到原文 (2020 年) 前,這個技巧我已使用多年。原文提及的技巧稱為 “Tactical Forking“,我自稱為 “Copy and Slim“,不過業界也沒有統一的名稱。

再對應到我的重構口訣:

Make it work > Make it right > Make it clear > Make it fast.

Refactoring-Tips

原文圖示的路徑正好是 Make it work > Make it right,等正式拆分後,可以再 Make it clear (易讀的程式) > Make it fast (更快的程式).

口訣的重點是:階段進展。很多人工程師重構時,想的都是更好、更快的程式,無非想要一步到位合為一個階段,要不就是順序倒置。這種「瀑布式」或「過早最佳化」的故事我們已經聽過很多遍了,但歷史總是一再重演。