這是個挺特別的聖誕假期,因為很多時間都用作Refactoring。
還記得對不寫程式的同事為Refactoring作過如此解釋:
整套系統其實就像一張桌子,當只有一兩個人用的時候,無論多亂都能找到想要的東西。當你媽罵你為甚麼不收拾桌子的時候能理直氣壯地說:「為甚麼要收拾?我知道東西放哪裏。」
當用桌子的人數增加、桌子上的東西也慢慢增加的時候,有一天突然發現要花上好久才找到想要的東西--因為實在太亂了。然後只好死死地氣收拾桌子(Refactor),好讓用桌子的人能快點找到想要的東西--要不花在「找」(Trace Code)上的時間就比「工作」(Develop)的時間要更長。
公司的產品不知不覺經歷了三個多年頭,每時每刻都在變不在話下,過去一年變得尤其多:人多了,資訊多了,增加新功能的速度快了好幾倍--程式債也增加得很快,桌子開始亂到不行。一堆大的小的有的沒的問題都源自於那堆程式碼,那為了快速回應客戶而匆匆寫上去的部份。
很不幸地最主要的組件也是亂得最快的,因為它正是最多人修改過的組件,亂到了一個改一句動全身的地步。由於大改動牽連甚廣,就想著趁客戶幾乎都在放假的聖誕至新年假期來個了斷,把潛在影響減至最少。這同時也代表了產品來到了一個穩定的地步,大部份的客戶需求都能幫到,不用急著加新功能,剩下的就是如何把UI和整個系統收拾一下,然後再邁向下一個階段。這是一個挑戰,也是一個里程碑。
有同事戲言,這次Refactoring應該加個標籤叫「煙花」,因為可能在推出的時候爆出一大堆大大小小的bug--多燦爛。
聖誕快樂,放個煙花,然後新年更進一步。