<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    動機(jī)(Motivation)
    臨時變量的問題在于:它們是暫時的,而且只能在所屬函數(shù)內(nèi)使用.由于臨時變量只有在所屬函數(shù)內(nèi)才可見,所以它們會驅(qū)使你寫出更長的函數(shù),因?yàn)橹挥羞@樣你才能訪問到想要訪問的臨時變量.如果把臨時變量替換為一個查詢式(query method),那么同一個class中的所有函數(shù)都將可以獲得這份信息.這將帶給你極大幫助,使你能夠?yàn)檫@個class編寫更清晰的代碼.

    Replace Temp with Query(120)往往是你運(yùn)用Extract Method(110)之前必不可少的一個步驟.局部變量會使代碼難以被提煉,所以你應(yīng)該盡可能把它們替換為查詢式.

    這個重構(gòu)手法較為直率的情況就是:臨時變量只被賦值一次,或者賦值給臨時變量的表達(dá)式不受其他條件影響.其他情況比較棘手,但也有可能發(fā)生.你可能需要先運(yùn)用Split Temporary Variable(128)或Separate Query from Modifier(279)使情況變得簡單一些,然后再替換臨時變量.如果你想替換的臨時變量是用來收集結(jié)果的(例如循環(huán)中的累加值),你就需要將某些程序邏輯(例如循環(huán))拷貝到查詢式(query method)去.
    posted on 2005-08-25 14:43 ivaneeo 閱讀(269) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 亚洲AV香蕉一区区二区三区| 亚洲伊人久久大香线蕉在观| 亚洲AV成人精品一区二区三区| 日韩中文字幕精品免费一区| 亚洲国产精品美女| 成人免费视频69| 456亚洲人成影院在线观| 三年片在线观看免费大全| 亚洲二区在线视频| 国产精品成人免费一区二区| 国产亚洲精aa在线看| 国产男女猛烈无遮档免费视频网站| 一本天堂ⅴ无码亚洲道久久| 好吊妞998视频免费观看在线| 亚洲色大成网站www久久九| 老司机永久免费网站在线观看| 亚洲国产精品成人AV在线| 免费一区二区视频| 中文字幕在线免费视频| 亚洲av日韩av无码| 日本三级2019在线观看免费| 亚洲日韩中文字幕无码一区| 免费v片在线观看| 免费无码又爽又刺激网站| 亚洲高清在线mv| 日韩中文字幕免费| 国产精品免费看久久久香蕉| 久久综合日韩亚洲精品色| 国产情侣激情在线视频免费看| 亚洲男同gay片| 亚洲一区精品无码| 免费观看无遮挡www的视频| 亚洲精品女同中文字幕| 国产亚洲精品线观看动态图| 99re免费99re在线视频手机版| 亚洲色www永久网站| 亚洲欧洲日产国码无码久久99| 亚洲一区二区三区免费在线观看| 久久亚洲AV成人无码国产电影 | 国产无遮挡无码视频免费软件| 67pao强力打造67194在线午夜亚洲 |