重構(gòu)第八章 5.Replace Array with Object(以對(duì)象取代數(shù)組)你有一個(gè)數(shù)組(array),其中的元素各自代表不同的東西。以對(duì)象替換數(shù)組。對(duì)于數(shù)組中的每個(gè)...
重構(gòu)第八章 5.Replace Array with Object(以對(duì)象取代數(shù)組)你有一個(gè)數(shù)組(array),其中的元素各自代表不同的東西。以對(duì)象替換數(shù)組。對(duì)于數(shù)組中的每個(gè)...
重構(gòu)第七章 4.Inline Class(將類內(nèi)聯(lián)化) 你的某個(gè)class沒有做太多的事情(沒有承擔(dān)足夠責(zé)任),將class的左右特性搬移到另一個(gè)class中,然后移除原cl...
重構(gòu)第七章 Move Method(搬移函數(shù)) 你的程序中,有個(gè)函數(shù)與其所駐class之外的另一個(gè)class進(jìn)行更多交流:調(diào)用后者,或者被后者調(diào)用 Example: Anal...
重構(gòu)第六章 總結(jié) 重構(gòu)方法 1.Extract Method(提煉函數(shù)): 將一段代碼提煉成為一個(gè)函數(shù)2.Inline Method(內(nèi)聯(lián)函數(shù)):用函數(shù)本體替換函數(shù)3.Inl...
重構(gòu)第六章 9.Substitute Algorithm(替換算法) 將函數(shù)本體替換成為另一個(gè)算法 Example: Analyse: End: Conclusion: 注意
重構(gòu)第六章 6.Split Temporary Variable(分解臨時(shí)變量) 針對(duì)每一個(gè)賦值,創(chuàng)造一個(gè)獨(dú)立的、對(duì)應(yīng)的臨時(shí)變量 你的程序有某個(gè)臨時(shí)變量被賦值超過一次,它既不...
重構(gòu)第六章 Extra Method(提煉函數(shù)) 當(dāng)看到一個(gè)過長(zhǎng)函數(shù)或者需要注釋才能看懂的函數(shù)的時(shí)候,將代碼放進(jìn)一個(gè)獨(dú)立函數(shù)中 動(dòng)機(jī)(優(yōu)點(diǎn)):1.每個(gè)函數(shù)的粒度都很小2.函...
集合的轉(zhuǎn)換 C++ STL集合的互相轉(zhuǎn)換 1、遍歷 for each的特性介紹 Example: 2、std::transform 定義: std::transform的介紹...
重構(gòu)第六章 Inline Method(內(nèi)聯(lián)函數(shù)) 一個(gè)函數(shù),其本體和其名稱一樣清楚易懂時(shí),在函數(shù)調(diào)用點(diǎn)插入函數(shù)本體,然后移除該函數(shù) Example: Analyze: En...
重構(gòu)第六章 3.Inline Temp(內(nèi)聯(lián)臨時(shí)變量) 你有一個(gè)臨時(shí)變量,只被一個(gè)簡(jiǎn)單表達(dá)式賦值一次,而它妨礙了其他重構(gòu)手法 將所有對(duì)該變量的引用動(dòng)作,替換為對(duì)它賦值的那個(gè)表...
重構(gòu)第六章 5.Introduce Explaining Variable(引入解釋變量) 將該復(fù)雜表達(dá)式的結(jié)果放進(jìn)臨時(shí)變量,以此變量名稱來解釋表達(dá)式用途 動(dòng)機(jī): 你有一個(gè)復(fù)...