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

正文內(nèi)容

重構(gòu),重構(gòu)的概念,和重構(gòu)的方法(編輯修改稿)

2025-03-20 09:34 本頁面
 

【文章內(nèi)容簡介】 也是大家最常見的重復(fù)例子。 何時進(jìn)行重構(gòu) bad smells(代碼重復(fù)) public class MovieList{ //影片部數(shù) private intnumberOfMovies= 0。 private Collection movies = new ArrayList()。 //影片部數(shù) public intsize() { return ()。 } public void add(Moviemovie) { (movie)。 numberOfMovies++。 } } 何時進(jìn)行重構(gòu) bad smells(交往不當(dāng)) ? 交往不當(dāng): ? 一個類對另一個類的內(nèi)部細(xì)節(jié)知道得太多。 ? 遇到這種情況,我們就需要對方法進(jìn)行遷移,讓那些彼此了解的代碼在一個位置。 何時進(jìn)行重構(gòu) bad smells(交往不當(dāng)) ? 下面看一個例子,這個方法掌握了關(guān)于 Movie類結(jié)構(gòu)的一切信息,如果 Movie的結(jié)構(gòu)方式變化,那么像這樣的方法就需要跟著改變 : 何時進(jìn)行重構(gòu) bad smells(交往不當(dāng)) ? 大家管好自己的事情 封裝自己的責(zé)任 何時進(jìn)行重構(gòu) bad smells(交往不當(dāng)) ? 對繼承來說也會出現(xiàn)同樣的問題,即子類過多的了解父類的實(shí)現(xiàn)細(xì)節(jié),超出它們所應(yīng)該了解的。這種情況我們可以把繼承換成委托(delegation)或者將父類的具體細(xì)節(jié)設(shè)為私有來解耦 何時進(jìn)行重構(gòu) bad smells( 交往不當(dāng)) ? 類的尺寸過大: ? 如果我們發(fā)現(xiàn)代碼中存在比較大的類時,就應(yīng)該仔細(xì)檢查一下了??纯词鞘裁丛?qū)е滤^大。想要完成的工作太多?是了解的東西太多?條件判斷導(dǎo)致的?針對不同的情況可以采用不同的重構(gòu)方法和策略。 ? 可以用 checkstyle方便的檢查出代碼中是不是存在類過大的情況。 何時進(jìn)行重構(gòu) bad smells( 懶惰類 ) ? 懶惰類: ? 這個是與大尺寸類剛好相反的情況,懶惰類不能充分體現(xiàn)其價值,可以和別的適當(dāng)?shù)念惣右院喜ⅰ? 何時進(jìn)行重構(gòu) bad smells(方法過長) ? 方法過長: ? 多長的代碼算長了?如果看行數(shù)的話,任何超過 20行的代碼都算長。如果看職責(zé)的話,任何完成超出一件工作的方法都算長。 ? 通過將功能內(nèi)聚的代碼塊拆分到各自獨(dú)立的方法中,可以消減方法的尺寸并使代碼更容易理解。 何時進(jìn)行重構(gòu) bad smells( switch 語句) ? switch 語句: ? 不加約束的使用 switch語句意味著沒有深入理解面向?qū)ο蟮脑瓌t。 ? switch語句的結(jié)果往往導(dǎo)致霰彈式的修改。 ? 我們常常可以使用多態(tài)以一種更好的方式來代替switch語句。 何時進(jìn)行重構(gòu) bad smells(霰彈式的修改) ? 霰彈式的修改 (shotgun surgery): ? 這個并不算是源自代碼的味道,更是出于我們與代碼打交道的方式。 ? 當(dāng)我們要修改某一處功能,卻發(fā)現(xiàn)需要改動多個不同的 classes的代碼,這就表明了出現(xiàn)了這種問題,這注定要成為災(zāi)難。 ? 常見的例子就是需要在多個類和方法的 switch語句中添加一條子句。 何時進(jìn)行重構(gòu) bad smells(發(fā)散式變化) ? 發(fā)散式變化 (divergent change): ? 如果某個 class經(jīng)常因?yàn)椴煌脑蛟诓煌姆较蛏习l(fā)生變化,就表明發(fā)散式變化出現(xiàn)了。 ? 霰彈式修改
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1