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