辭職後想了一段時間,最終還是換了個城市工作,最近剛上班,陌生的城市還是有一股孤獨感,麻將一缺三。
上班後的第一個任務領導就讓我重構一下系統,我下意識就回答重構坑很深,想建議小步定期重構追求慢而穩,後面瞭解了下原因後也只能上手開始搞了。這套系統程式碼量只有不到3W行程式碼,不過這套系統的程式碼是我見過最糟糕的程式碼,十分脆弱,一個UI的類把所有的元件都耦合在一起了,業務邏輯的許多行為都在UI類中,存在幾千行的函式裡面功能不單一,沒有註釋命名也不清楚,具名變數沒有幾個都是魔數,等等等等,確實可以說是一份會讓人奔潰的程式碼。
因為重構的任務確實難得,所以想記錄一下自己重構過程的一些心得以及即將要踩的坑。
下面說一下目前自己重構的思路:
一、解耦
重構之前領導要我搞個架構設計給它,其實我認為重構這套系統很多架構設計需要考慮的東西都不需要,最重要的還是水平層次的UI、業務邏輯、資料庫以及裝置控制解耦以及垂直層次的業務間解耦。這套系統耦合太高,開發成本真的是高,因為都是專案型開發只會修改幾行程式碼適應不同專案還沒有什麼深刻認識,前幾天我問一個準備在系統增加功能的同事,是不是加個功能就寸步難行了?他回答是。
花了點時間把系統的解耦劃分好,大致方向就確認好,也定製了一些重構過程中的機制。
二、測試保證
重構還是要追求慢而穩,改的越多坑越深,很慌。
部門內部質量保證的機制太少了,沒有靜態程式碼檢查工具也沒有單元測試工具,所以重構前就先把單元測試框架給搭建起來,當然關於測試我只打算測試重要的部分,粒度太細的話整個過程成本高效果也不高,測試的目的只保證重構沒出錯。
三、重構工具
想看看有什麼可以用得上的重構工具,後面查了下沒什麼合適的就不打算用了。
小結
前兩天就已經開始重構了,真的不容易,這份程式碼太折磨我了,不過重構完一小部分後,程式碼一下子就讓人舒服多了,現在我只期望我運氣能比較好,坑肯定在所難免只求坑不要太深。