
大象
不久前在朋友圈有一篇關于不要重寫代碼的文章很火借笙,大體意思是這樣:即便原有的代碼看上去很不友好遍搞,也不要嘗試輕易去重寫代碼祥款,因為它經過了長期的測試及修補清笨,已經運行得很穩(wěn)定,要重寫的話很多邏輯可能被忽略掉刃跛,可能也要犯曾經碰到的所有錯誤抠艾,需要更多的人力去測試。
閱讀之后桨昙,深有體會检号,即便是代碼的書寫者也未必對其中的邏輯全部了解,要讓他們重寫也是一件很難的事情蛙酪,而且成本會很高谨敛,還不如在原來的基礎上進行修改。
雖然重寫是一件成本很大的事情滤否,但我們可以不停地重構,逐步優(yōu)化最仑,最終會讓代碼變得完美藐俺。或者我們可以嘗試如下的步驟去完善那些復雜的代碼泥彤。
提取可復用的代碼
不同的實現(xiàn)有時需要一些相類似的代碼欲芹,拷貝然后稍加修改是一件極其容易的事情,但一旦某個地方出錯了吟吝,其它地方可能被遺忘掉菱父。即便是小部分的邏輯,要是增加一些控制變量,把一些代碼集中到一個函數(shù)中浙宜,那么修改了一個錯誤就可以修改全部潛在的錯誤官辽,達到事半功倍的效果。
肢解獨立的功能
有些邏輯業(yè)務可以獨立出來管理粟瞬,閱讀起來更加便利同仆,邏輯也會變得有條理,調試起來也方便裙品,出現(xiàn)問題了只需要到相應的模塊查看俗批。
重構后的代碼可能需要花費更多的時間去了解其架構,但它卻提升了代碼的健壯性市怎。