既然認(rèn)為它是好的,就要發(fā)揮到極限-系列之三重構(gòu)
想改良一個爛設(shè)計(jì)為好設(shè)計(jì)嗎?想增加或維護(hù)代碼功能時更加簡單嗎?重構(gòu)無疑是其中最好的方法之一,既然它是好的,我們就要把它發(fā)揮到極限,把重構(gòu)發(fā)揮到極限的方法就像kent beck說的,采用兩頂帽子的原則,工作中不斷的交換帽子,^_^
重構(gòu)的好處
1、改良設(shè)計(jì)
設(shè)計(jì)在一開始不可能做的很完善、很完美,只能是通過在開發(fā)的過程不斷的去改良和完善,重構(gòu)就是最好的方法之一,通過重構(gòu)可將設(shè)計(jì)快速的改良。
2、增加或維護(hù)代碼功能時更加的簡單
重構(gòu)進(jìn)行的原因主要還是因?yàn)樵谠黾踊蚓S護(hù)代碼時進(jìn)行的很困難,這個時候重構(gòu)原有代碼就是為了讓增加或維護(hù)代碼功能變得更為的簡單。
重構(gòu)的實(shí)現(xiàn)
重構(gòu)并不是什么新思想、新技術(shù)或者新方法,是一個50年代就已經(jīng)有N多人融入他們的開發(fā)中形成習(xí)慣的過程,那么重構(gòu)到底應(yīng)該怎么去做呢?在這點(diǎn)上我覺得我沒有什么多發(fā)言的意義,建議大家參考《重構(gòu)》一書,書中闡述了很多優(yōu)秀的編碼習(xí)慣以及重構(gòu)進(jìn)行的場合、方法,重構(gòu)不象設(shè)計(jì)模式,重構(gòu)應(yīng)該被形成習(xí)慣融入到開發(fā)中去,重構(gòu)不是一項(xiàng)獨(dú)立的任務(wù)。
重構(gòu)依賴于良好的測試體系,如之前講過的單元測試的貫徹。
Java的開發(fā)人員更是可以借助IDE來快速的完成重構(gòu)的工作。
經(jīng)驗(yàn)總結(jié)
慢慢的重構(gòu)也變成了我的開發(fā)習(xí)慣,重構(gòu)保證了簡單設(shè)計(jì)的可行,同時也保證了軟件的質(zhì)量。
有了重構(gòu),我在開發(fā)中就可以實(shí)行”不要求高質(zhì)量的實(shí)現(xiàn)代碼,但要求高質(zhì)量的測試代碼“,高質(zhì)量的實(shí)現(xiàn)代碼在任務(wù)完成時即可通過重構(gòu)的技術(shù)去進(jìn)行,就像我以前一篇blog提及過的一樣,我在代碼實(shí)現(xiàn)過程采用的就是:
1、編寫能夠滿足測試的代碼。
2、對代碼進(jìn)行重構(gòu)。
2.1 按照《重構(gòu)》的一些模式進(jìn)行
2.2 OO
2.3 設(shè)計(jì)模式
重構(gòu)的好處
1、改良設(shè)計(jì)
設(shè)計(jì)在一開始不可能做的很完善、很完美,只能是通過在開發(fā)的過程不斷的去改良和完善,重構(gòu)就是最好的方法之一,通過重構(gòu)可將設(shè)計(jì)快速的改良。
2、增加或維護(hù)代碼功能時更加的簡單
重構(gòu)進(jìn)行的原因主要還是因?yàn)樵谠黾踊蚓S護(hù)代碼時進(jìn)行的很困難,這個時候重構(gòu)原有代碼就是為了讓增加或維護(hù)代碼功能變得更為的簡單。
重構(gòu)的實(shí)現(xiàn)
重構(gòu)并不是什么新思想、新技術(shù)或者新方法,是一個50年代就已經(jīng)有N多人融入他們的開發(fā)中形成習(xí)慣的過程,那么重構(gòu)到底應(yīng)該怎么去做呢?在這點(diǎn)上我覺得我沒有什么多發(fā)言的意義,建議大家參考《重構(gòu)》一書,書中闡述了很多優(yōu)秀的編碼習(xí)慣以及重構(gòu)進(jìn)行的場合、方法,重構(gòu)不象設(shè)計(jì)模式,重構(gòu)應(yīng)該被形成習(xí)慣融入到開發(fā)中去,重構(gòu)不是一項(xiàng)獨(dú)立的任務(wù)。
重構(gòu)依賴于良好的測試體系,如之前講過的單元測試的貫徹。
Java的開發(fā)人員更是可以借助IDE來快速的完成重構(gòu)的工作。
經(jīng)驗(yàn)總結(jié)
慢慢的重構(gòu)也變成了我的開發(fā)習(xí)慣,重構(gòu)保證了簡單設(shè)計(jì)的可行,同時也保證了軟件的質(zhì)量。
有了重構(gòu),我在開發(fā)中就可以實(shí)行”不要求高質(zhì)量的實(shí)現(xiàn)代碼,但要求高質(zhì)量的測試代碼“,高質(zhì)量的實(shí)現(xiàn)代碼在任務(wù)完成時即可通過重構(gòu)的技術(shù)去進(jìn)行,就像我以前一篇blog提及過的一樣,我在代碼實(shí)現(xiàn)過程采用的就是:
1、編寫能夠滿足測試的代碼。
2、對代碼進(jìn)行重構(gòu)。
2.1 按照《重構(gòu)》的一些模式進(jìn)行
2.2 OO
2.3 設(shè)計(jì)模式
posted on 2006-01-26 10:58 BlueDavy 閱讀(1459) 評論(0) 編輯 收藏 所屬分類: Java 、軟件工程