freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

重構(gòu),重構(gòu)的概念,和重構(gòu)的方法(參考版)

2025-02-24 09:34本頁面
  

【正文】 A ?Think you 。這種情況下一種更好更清楚的解決辦法就是采用衛(wèi)述句來返回。 重構(gòu)方法 使用符號常量來代替魔幻數(shù)字 重構(gòu)方法 使用衛(wèi)述句代替嵌套的條件判斷 ? 使用衛(wèi)述句代替嵌套的條件判斷 (Replace Nested Conditional with Guard Clauses): ? 單一出口規(guī)則要求每個(gè)方法只能有一個(gè)出口 (即return語句 )。這樣的數(shù)值很難分辨,改變它們會引起霰彈式手術(shù),其實(shí)這也是一種重復(fù)。 ? 對此我們使用靜態(tài)工廠方法,這樣就能給每個(gè)構(gòu)造方法起一個(gè)有意義的名字。 ? 把表達(dá)式切分成容易理解的片段,提高整個(gè)表達(dá)式的清晰度。我們就能為 IMovieList接口創(chuàng)建包含 mock對象在內(nèi)的其他實(shí)現(xiàn)了。 重構(gòu)方法 提取類 (Extract class) 重構(gòu)方法 提取類 (Extract class) ? 可以將與電話號碼相關(guān)的行為分離到一個(gè)獨(dú)立的 class中 : 重構(gòu)方法 提取接口 (Extract interface) ? 提取接口: ? 當(dāng)兩個(gè) classes的接口有部分相同,可以考慮提取接口。 ? 相同結(jié)構(gòu)的方法放在父類中,提取出來的細(xì)節(jié)具體方法在子類中實(shí)現(xiàn)。 重構(gòu)方法 用子類代替型別碼 重構(gòu)方法 用多態(tài)來代替條件判斷 ? 用多態(tài)來代替條件判斷 (Replace conditional with Polymorphism): ? 當(dāng)我們發(fā)現(xiàn)代碼中有 switch語句時(shí),可以考慮創(chuàng)建子類處理不同的情況,從而去掉 switch語句。這時(shí)可以使用委托來代替繼承 重構(gòu)方法 用子類代替型別碼 ? 用子類來代替型別碼( Replace Type with Subclasses): ? 當(dāng)我們的類使用型別碼來表示子類的時(shí)候(例如,雇員分工程師,銷售人員和管理人員),就可以使用這種重構(gòu)方法。 重構(gòu)方法 用委托來代替繼承 重構(gòu)方法 用委托來代替繼承 接著想設(shè)計(jì)個(gè)“正方形”類別 ﹐ 很多人會想到使用繼承: public Square extends Rectangle { } 多好啊,什么都不用干,就可重復(fù)使用 Rectangle的area()方法了。 重構(gòu)方法 提取方法 (Extract method) 重構(gòu)方法 提取方法 (Extract method) 重構(gòu)方法 用委托來代替繼承 ? 用委托來代替繼承 (Replace Inheritance witch Delegation): ? 我們應(yīng)當(dāng)只在子類對超類進(jìn)行擴(kuò)展而不僅僅是覆寫超類的部分功能時(shí),才使用繼承。 ? 下面將介紹十二種比較重要且常用重構(gòu)方法。 ? 擅于使用優(yōu)良的重構(gòu)工具可以大大減少我們重構(gòu)所需的時(shí)間。以便于最快的檢查重構(gòu)的有效性。 如何進(jìn)行重構(gòu) ? 準(zhǔn)備好自動測試環(huán)境,這些測試能在我們執(zhí)行重構(gòu)時(shí)及時(shí)的向我們反饋重構(gòu)是否傷到原有行為。 何時(shí)進(jìn)行重構(gòu) bad smells(發(fā)散式變化) ? 發(fā)散式變化 (divergent change): ? 如果某個(gè) class經(jīng)常因?yàn)椴煌脑蛟诓煌姆较蛏习l(fā)生變化,就表明發(fā)散式變化出現(xiàn)了。 ? 當(dāng)我們要修改某一處功能,卻發(fā)現(xiàn)需要改動多個(gè)不同的 classes的代碼,這就表明了出現(xiàn)了這種問題,這注定要成為災(zāi)難。 ? 我們常??梢允褂枚鄳B(tài)以一種更好的方式來代替switch語句。 何時(shí)進(jìn)行重構(gòu) bad smells( switch 語句) ? switch 語句: ?
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1