1. 程式人生 > >Java專案重構總結

Java專案重構總結

一、方案落地

1、在現實生活中,能找到許多與軟體行為相似的場景,比如專案重構與房子重建是比較類似,簡單例子如下:

比如,一道參差不齊的牆,怎麼變成整齊的牆,一般來說有以下兩種方案

方案一:直接推到,新買磚,重新砌牆,通常會遇到難以找到適合砌牆邊的磚頭,砌牆工通常會破壞新磚來到達目的

方案二:拆牆,把牆磚一個個分解,重新利用,再加上新買少量磚,完美解決難以對齊的問題,而不用去破壞新磚

2、上述例子其實對應的是軟體重構的兩種方法論:

(1)全部推翻,從頭開始

(2)以迭代的方式進行重構

3、分析現有專案的框架侷限性,結合業務的方向來敲定重構方案

4、重構的風險與把控,對現有業務的影響

5、評估重構的週期,細化出開發任務

6、測試與交付

二、先建立可靠的測試環境 1、測試的目的是用於確保重構出來的程式碼能穩定執行,否則一旦對外發布就會容易出現問題。 2、總結:單元模組小重構,單元模組測試
三、分解並重組 1、什麼情況下需要進行分解 (1)冗長的程式碼 (2)重複的程式碼 (3)邏輯不清晰的程式碼 (4)不遵循通用程式設計規範的程式碼 2、方法 (1)區域性變數和引數 (2)變數易名:提高程式碼的清晰度。 (3)去除臨時變數 (4)使用多型取代多分支條件邏輯 (5)繼承的使用 (6)pattern的運用 3、提煉方法和類 (1)業務需求經常變更的地方 (2)業務功能的清晰劃分 4、重構策略 測試 -> 小修改 -> 測試 -> 小修改... 總結:重構是以微小的步伐來修改程式的。
5、Java程式碼重構的一大方向:完成面向過程到面向物件的轉換。 四、重構處於專案開發中的階段
(1)第一階段:快速實現穩定可靠的功能需求,該階段僅僅要求實現產品需求功能,能提供對外發放的產品。簡單的說就是能向老闆交差。 (2)第二階段:對各個模組進行單元測試,最後再進行整合測試。 (3)第三階段:不斷的調整專案程式碼,優化程式碼,不斷的自我否定,使得專案程式碼能適應以後的產品發展,比如區域性範圍的程式碼重構、效能優化等。 五、總結 1、永無止境的需求造成了專案框架難以長久,而重構可為專案延續生命; 2、專案重構的方向不能脫離業務或需求; 3、測試保證了重構專案的穩定與可靠性。