Java專案重構總結
阿新 • • 發佈:2019-01-26
一、方案落地
三、分解並重組 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、測試保證了重構專案的穩定與可靠性。
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程式碼重構的一大方向:完成面向過程到面向物件的轉換。 四、重構處於專案開發中的階段