天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

在代碼重構(gòu)中蛻變

  這幾天,要對(duì)我半年前寫的代碼進(jìn)行一些整理工作,在看代碼時(shí)發(fā)現(xiàn)當(dāng)時(shí)有很多地方寫得不夠好,俗稱的有“壞味道”,呵呵,重構(gòu),必須的。

  幾年前通讀過《重構(gòu),改善既有代碼的設(shè)計(jì)》一書,雖然對(duì)各種重構(gòu)模式或方法記憶有限,但精髓還是記住了:改代碼而不改變軟件的外在表現(xiàn),循序漸進(jìn)。

  其實(shí),重構(gòu)是一個(gè)開發(fā)人員的基本工作內(nèi)容,是在每天的開發(fā)過程中都要用到的。離開了重構(gòu)和測(cè)試,代碼質(zhì)量是難有保障的。有人會(huì)說沒有用到重構(gòu),其實(shí)最簡(jiǎn)單的例子,當(dāng)你發(fā)現(xiàn)一個(gè)類中有幾處用到了相同的代碼,你把這幾行代碼提取到了一個(gè)私有函數(shù)中以供復(fù)用,這就是一次重構(gòu)。所以說,別跟人炫耀你會(huì)重構(gòu),這是基本功。

  好久沒更新博客了,借此說說我的一點(diǎn)心得吧。

  1. 目的明確。代碼是一種平衡的產(chǎn)物,很多地方都在保持著某種平衡,有功能與性能的平衡,有可靠性與可維護(hù)性的平衡等等,每一次動(dòng)手,都要有一個(gè)目標(biāo),是想改進(jìn)局部代碼,還是想改進(jìn)類結(jié)構(gòu),只有針對(duì)不同的目的才能實(shí)施不同的方法。

  2. 評(píng)估影響。改動(dòng)前,最好能有個(gè)預(yù)估,對(duì)可能產(chǎn)生的影響做到心中有數(shù),以免引起不必要的后果。在“壞味道”的代碼中是很有可能牽一發(fā)而動(dòng)全身的,要注意安全。如果只是對(duì)類的私有成員的改動(dòng),那通常影響的范圍有限,如果涉及到對(duì)公有成員或保護(hù)成員的改動(dòng),那就要注意了,簡(jiǎn)單的評(píng)估方式是充分利用IDE的搜索、引用等功能,把引用過此成員的代碼行全部找出來,看看影響的范圍有多廣,如果有些代碼不在你的控制之內(nèi),那就要慎重考慮這個(gè)重構(gòu)了。

  3. 慎改結(jié)構(gòu)。設(shè)計(jì)人員或架構(gòu)師在定義類結(jié)構(gòu)的時(shí)候一定有他的綜合考慮,在沒有充分理解之前,請(qǐng)慎重吧。不要拿設(shè)計(jì)模式去套現(xiàn)有的結(jié)構(gòu),設(shè)計(jì)模式是個(gè)指導(dǎo),如果學(xué)完設(shè)計(jì)模式還在硬用來套用,那這種僵化的思維還不如不學(xué)的好。所以,當(dāng)想要做這樣的重構(gòu)時(shí),請(qǐng)與你的設(shè)計(jì)師、架構(gòu)師或有經(jīng)驗(yàn)的同事協(xié)作,除非你自己就是設(shè)計(jì)師。

  4. 小步伐前進(jìn)。每次改動(dòng)盡量小,這樣可以把影響限制到小范圍。就像一個(gè)公式一樣,如果同時(shí)改變其中的幾個(gè)變量,那很難說是哪一個(gè)影響了結(jié)果,但如果一次只改變其中的一個(gè),就可以確認(rèn)其對(duì)結(jié)果的影響。尤其是當(dāng)代碼已經(jīng)完成了用戶需求,這時(shí)的重構(gòu)只是為了讓代碼更好,切忌不要影響到已經(jīng)得到用戶確認(rèn)的外在表現(xiàn)。

  5. 測(cè)試。無論你的開發(fā)是否是測(cè)試驅(qū)動(dòng),在重構(gòu)時(shí)測(cè)試是保證代碼正確的必要手段。修改-編譯-測(cè)試,重復(fù)這個(gè)過程,直到達(dá)到目的。

  當(dāng)你花了幾分鐘或者幾個(gè)禮拜,已經(jīng)讓代碼大為清爽的時(shí)候,回過頭來對(duì)比曾經(jīng)的“壞味道”,我想,你會(huì)喜歡上代碼的,重構(gòu)會(huì)發(fā)生在你寫下一行代碼的時(shí)刻,變成了編碼能力了。

  少一行代碼,就少一分出錯(cuò)的可能,別心疼你刪除掉的代碼,雖然那是你的心血,但那已經(jīng)是歷史,在重構(gòu)代碼中蛻變已經(jīng)完成。

it知識(shí)庫(kù)在代碼重構(gòu)中蛻變,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 狠狠色狠狠色综合日日2019 | 国产Av男人的天堂精品良久 | 三级网站视频在线观看 | 欧美精品做人一级爱免费 | 色爱区综合小说 | 中文字幕在线不卡精品视频99 | 丰满人妻熟女色情A片 | 国产精品涩涩涩视频网站 | 中文字幕在线播放 | 青青青国产依人精品视频 | 国精产品一区二区三区有限公司 | 成人免费公开视频 | 大香伊人中文字幕精品 | 俺也去最新地址 | 亚洲第一天堂无码专区 | 国产亚洲精品线观看不卡 | 日韩毛片在线视频 | YELLOW视频在线观看大全 | babesvideos性欧美 | 蜜芽无码亚洲资源网站 | 久久精品热播在线看 | 99九九免费热在线精品 | 九九热这里只有国产精品 | 国产老师开裆丝袜喷水漫画 | 亚洲精品AV一二三区无码 | 精品国产乱码久久久久久软件 | 国偷自产视频一区二区99 | 扒开双腿疯进出爽爽爽动态图 | 玩弄朋友娇妻呻吟交换电影 | 天美传媒麻豆精品 | 国产电影三级午夜a影院 | 欧美亚洲国产激情一区二区 | 亚洲色视在线观看视频 | 我的美女奴隶 | 最新 国产 精品 精品 视频 | 成人国内精品久久久久影院 | 免费国产成人高清在线观看视频 | 九九热只有精品 | 99热视频这里只有久久精品 | 91精品一区二区三区在线观看 | 国产精品婷婷久青青原 |