第二部分 如何進(jìn)行軟件重構(gòu)
第三單元:何為重構(gòu)
軟件重構(gòu)的概念
1)重構(gòu)是一系列代碼的等量變換
案例:一個Hello World重構(gòu)過程
2)重構(gòu)的保險索:自動化測試
案例:Hello World的自動化測試過程
3)軟件修改的四種動機(jī)——重構(gòu)的價值
4)一個真實的謊言——重構(gòu)的誤區(qū)
5)重構(gòu)的主要方法與技巧
案例分析:重構(gòu)一個大型遺留系統(tǒng)
1)重構(gòu)第一步:分解大函數(shù)
案例:演示大函數(shù)產(chǎn)生的過程
案例:演示抽取方法操作步驟
2)重構(gòu)第二步:拆分大對象
案例:演示超級大對象的產(chǎn)生過程
案例:演示抽取類的操作步驟
案例:演示“分久必合,合久必分”的重構(gòu)過程
3)重構(gòu)第三步:提高復(fù)用率
案例:提高代碼復(fù)用的6個方法
案例:演示新增代碼時的代碼復(fù)用過程
4)重構(gòu)第四步:可擴(kuò)展設(shè)計
案例:講解可擴(kuò)展設(shè)計的4個方法
案例:講解新增代碼的可擴(kuò)展設(shè)計過程
5)重構(gòu)第五步:降低耦合度
案例:講解接口、實現(xiàn)與工廠模式
案例:講解外部接口解耦與適配器模式
6)重構(gòu)第六步:系統(tǒng)分層
反思軟件架構(gòu)需要怎樣的分層結(jié)構(gòu)
遺留系統(tǒng)如何擁抱需求變化
遺留系統(tǒng)如何應(yīng)對技術(shù)變革
7)重構(gòu)第七步:領(lǐng)域驅(qū)動設(shè)計
案例:智能溫控器分析設(shè)計過程(嵌入式+物聯(lián)網(wǎng))
練習(xí):重構(gòu)一個小程序并編寫測試腳本
第四單元:關(guān)于重構(gòu)的討論
什么時候重構(gòu)
測試的困境
重構(gòu)的評價