青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181  文章 - 15  trackbacks - 0
<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

My Tech blog

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

重構原則
重構的幾個定義
重構(名詞):對軟件內部結構的一種調整,目的是在不改變"軟件之可察行為"前提下,提高可理解性降低修改成本。

重構(動詞):使用一系列重構準則(手法),在不改變"軟件之可察行為"的前提下,調整其結構。

重構和性能優化的相同之處:通常都不會改變組件的行為,只會改變其內部結構。
重構和性能優化的不同之處:出發點不同。性能優化往往使代碼較難理解,但為了得到所需的性能,你不得不那么做。
兩頂帽子
添加新功能和重構是兩種截然不同的行為。添加新功能時,你不應該修改既有代碼,只管添加新功能。通過測試,你可以衡量你自己的工作進度;重構時你就不能再添加功能,只管改進程序結構。此時你不應該添加任何測試(除非你發現先前遺漏的任何東西),只在絕對必要(用以處理接口變化)時才修改測試。
軟件開發過程當中,你可能會經常更換帽子,但是無論在什么時候,都必須清楚自己戴的是哪一頂帽子。

重構的目的:
1、重構改進軟件設計
同樣完成一件事,設計不良的程序往往需要更多代碼,這常常是因為代碼在不同的地方使用完全相同的語句做同樣的事。因此改進設計的一個重要方向就是消除重復代碼。如果消除重復代碼,你就可以確定代碼將所有事物和行為都只表述一次,唯一一次,這正是優秀設計的根本。
2、重構使程序更容易被理解
要及時填補想要他做什么和告訴他做什么之間的縫隙。這種編程模式的核心就是“準確說出吾人所欲”。
這種可理解性還有另一方面的作用。我利用重構來協助我理解不熟悉的代碼。當我看到不熟悉的代碼,我必須試著理解其用途。我先看兩行代碼,然后對自己說:“噢,是的,它做了那些......”。有了重構這個強大武器在手,我不會滿足于這么一點腦中體會。我會真正動手修改代碼,讓他更好的反應出我的理解,然后重新執行,看它是否能夠仍然正常運作,以此檢驗我的理解是否正確。
3、重構助你找到臭蟲
重構能夠幫助我寫出強健穩固的代碼。
4、重構助你提高編程速度
良好設計是維持軟件開發速的的根本。重構可以幫助你更快速的開發軟件,因為它阻止系統腐敗變質,它甚至可以提高設計質量。
重構的時機
重構本來就不是一件“特別撥出時間做”的事情,重構應該隨時隨地進行。不應該為重構而重構,重構是因為你想做別的事,重構可以幫助你把事情做好。
事不過三,三則重構.
1、添加功能時一并重構
想要理解代碼-->重構-->理解代碼
想要添加特性-->重構-->更容易的添加特性
2、修補錯誤時一并重構
如果在修改錯誤的時候,不能一眼發現錯誤,說明需要重構。
3、復審代碼時一并重構
復審代碼有助于在開發團隊中傳播知識。
重構可以幫助我復審別人的代碼。
得到一定程度的理解-->想到一些點子-->重構-->進一步的理解-->更好的點子。如果不進行重構,我永遠也無法得到這樣的認識。
最好是一個復審者搭配一個原作者,共同處理這些代碼。復審者提出修改建議,然后兩人共同判斷這些修改能否通過重構輕松實現。果真能夠如此,就一起著手修改。

為什么重構有用(Why Refactoring Works)
---Kent Beck

程序具有兩面價值:今天可以為你做什么,明天可以為你做什么。大多數時候,我們都只關注自己今天想要程序做什么。不論是修復錯誤或是添加特性,我們都是為了讓程序能力更強,讓它在今天更有價值。
但是系統今天(當下)的行為,只是整個故事的一部分,如果沒有認清這一點,你無法長期從事編程工作。如果你“為求完成今天任務”而采取的手法使你不可能在明天完成明天的任務,那么你還是失敗。但是,你知道自己今天需要什么,卻不一定知道自己明天需要什么。也許你可以猜到明天的需求,也許吧,但肯定還有些事情出乎你的意料。
對于今天的工作,了解得很充分;對于明天的工作,我了解得不夠充分。但如果我純粹只是為今天工作,明天我將完全無法工作。
重構是一條擺脫束縛的道路。如果你發現昨天的決定已經不適合今天的情況,放心改變這個決定就是,然后你就可以完成今天的工作了。明天,喔,明天回頭看今天的理解也許覺得很幼稚,那時你還可以改變你的理解。
是什么讓程序如此難以相與?下筆此刻,我想起四個原因,它們是:
難以閱讀的程序,難以修改;
邏輯重復的程序,難以修改;
添加新行為時需要修改既有代碼者,難以修改。
帶復雜邏輯條件的程序,難以修改。
因此我們希望程序:(1)容易閱讀;(2)所有邏輯都只在唯一地點指定;(3)新的改動不會危及現有行為;(4)盡可能簡單表達邏輯條件。
重構是這樣一個過程:它在一個目前可以運行的程序上進行,企圖在“不改變程序行為”的情況下賦予上述美好性質,使我們能夠繼續保持高速開發,從而增加程序的價值。

posted on 2007-06-21 22:37 littlegai 閱讀(193) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产亚洲精品福利| 国产亚洲欧美aaaa| 国产精品99久久久久久www| 亚洲国产精品成人| 欧美成人亚洲| 在线亚洲+欧美+日本专区| 99riav1国产精品视频| 欧美日韩国产精品专区| 99国产精品国产精品久久 | 欧美午夜电影完整版| 亚洲天堂av图片| 国产精品99久久久久久久vr| 国产精品久久久久久久久免费樱桃 | 欧美中文字幕在线| 国一区二区在线观看| 欧美成人一品| 欧美日韩一区二区三区免费看 | 激情欧美一区二区| 亚洲国产精品一区二区第四页av | 一区二区免费在线视频| 国产欧美综合在线| 免费欧美电影| 欧美视频在线观看视频极品 | 亚洲大胆在线| 宅男噜噜噜66一区二区66| 国产亚洲欧美日韩美女| 欧美激情一区二区三区蜜桃视频| 欧美精品在线极品| 久久国产一区| 欧美精品一区二区三区蜜桃| 欧美亚洲综合久久| 欧美成人国产| 久久久不卡网国产精品一区| 欧美激情综合五月色丁香小说| 亚洲综合三区| 欧美成人有码| 老司机一区二区| 国产精品成人免费| 亚洲东热激情| 国产亚洲欧美一区在线观看| 亚洲日本成人| 亚洲电影在线播放| 亚洲综合大片69999| 日韩视频在线观看一区二区| 欧美一区二区三区四区夜夜大片 | 国产日韩在线一区二区三区| 亚洲人体偷拍| 极品少妇一区二区| 午夜综合激情| 午夜精品国产更新| 欧美日韩视频不卡| 亚洲黄网站黄| 亚洲国产精品一区二区www在线| 亚洲男人天堂2024| 亚洲综合视频一区| 欧美三级日韩三级国产三级| 欧美激情影音先锋| 在线观看精品| 久久精品亚洲精品| 久久嫩草精品久久久精品一| 国产精品日韩欧美一区二区三区 | 亚洲精品自在久久| 亚洲人成人一区二区三区| 欧美在线视频一区| 欧美专区亚洲专区| 国产欧美高清| 午夜精品久久久久久久久久久| 亚洲视频你懂的| 欧美少妇一区二区| 亚洲卡通欧美制服中文| 亚洲精品久久久久久下一站| 久久伊伊香蕉| 亚洲成色999久久网站| 亚洲成色www8888| 老司机精品导航| 欧美激情1区2区| 亚洲日本中文字幕区 | 亚洲欧洲另类国产综合| 91久久久久久国产精品| 欧美激情一区三区| 99在线热播精品免费99热| 99日韩精品| 国产精品一区=区| 久久精品国产99精品国产亚洲性色| 久久久久一区二区三区| 亚洲国产欧美日韩精品| 欧美人在线视频| 亚洲女人av| 免费观看30秒视频久久| 亚洲精品一二区| 国产精品久久久久久av福利软件 | 国产精品日本一区二区 | 亚洲精品色图| 午夜亚洲性色福利视频| 韩国欧美一区| 欧美国产亚洲视频| 亚洲一区二区三区高清不卡| 久久精品99国产精品| 亚洲国产成人久久| 欧美体内she精视频在线观看| 香港久久久电影| 亚洲第一偷拍| 香蕉久久精品日日躁夜夜躁| 黄色小说综合网站| 欧美精品在线看| 欧美中文字幕视频在线观看| 亚洲黄色免费电影| 久久av二区| 99精品99| 亚洲成人在线免费| 国产精品大全| 欧美大片在线观看| 欧美在线网站| 一区二区三区四区国产精品| 欧美sm视频| 久久riav二区三区| 在线综合+亚洲+欧美中文字幕| 国模大胆一区二区三区| 欧美三级网址| 免费试看一区| 久久久久免费观看| 亚洲欧美电影在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 美女主播精品视频一二三四| 亚洲一区二区欧美日韩| 亚洲国产精品一区二区第一页| 国产女主播视频一区二区| 欧美日韩国产成人高清视频| 久久久久成人精品| 亚洲欧美日韩一区二区| 99精品国产一区二区青青牛奶| 女女同性精品视频| 久久爱www.| 亚洲欧美一区二区在线观看| 日韩一级免费| 亚洲区一区二| 亚洲福利视频三区| 在线免费不卡视频| 国外成人在线视频| 国内精品亚洲| 国产亚洲免费的视频看| 国产日本欧美一区二区| 国产精品乱看| 国产欧美日韩精品一区| 国产精品天天看| 国产精品综合视频| 国产人成一区二区三区影院| 国产精品久久久久久亚洲毛片| 欧美视频一区二区三区…| 欧美日本精品一区二区三区| 欧美精品一卡二卡| 欧美三级不卡| 国产精品久久久久秋霞鲁丝| 国产精品久久一卡二卡| 国产精品一二三四区| 国产免费亚洲高清| 国产一区在线看| 亚洲国产老妈| 99精品99| 午夜精品视频在线观看| 欧美一区二区视频观看视频| 久久av二区| 蜜臀久久99精品久久久久久9 | 午夜精品电影| 久久久久在线观看| 欧美xxx成人| 日韩午夜电影av| 欧美一区二区免费| 免费视频久久| 国产精品久久久久久久久久免费 | 国产精品wwwwww| 国内精品视频一区| 亚洲精品久久久久久久久久久久| 夜夜嗨av色一区二区不卡| 亚洲欧美日韩视频一区| 老巨人导航500精品| 亚洲国产欧洲综合997久久| 中文在线资源观看网站视频免费不卡| 香蕉免费一区二区三区在线观看| 久久手机免费观看| 欧美日韩国产一中文字不卡| 国产视频综合在线| 亚洲毛片一区| 久久久久久久久蜜桃| 亚洲精品久久久一区二区三区| 亚洲女人小视频在线观看| 欧美成人综合在线| 国产一区二区三区在线观看网站 | 久久国产精品久久久久久电车| 另类av导航| 亚洲视频精品在线| 亚洲一级黄色片| 欧美成人国产va精品日本一级| 欧美激情第三页| 韩国精品久久久999| 一本一本久久a久久精品牛牛影视| 在线一区欧美| 亚洲国产天堂网精品网站| 亚洲香蕉在线观看| 蜜桃视频一区|