重構學習-重構原則

什麼是重構:


視上下文重構有兩個不一樣的定義,第一個定義是名詞形式性能優化

對軟件內部結構的一種調整,目的是在不改變軟件可觀察行爲的前提下,提升其可理解性,下降其修改爲本性能

重構的另外一人用法是動詞形式優化

使用一系列的重構手法,在不改變軟件可觀察行爲的前提下調整其結構。設計

有人說重構就是整理代碼 ,從某種角度上來講,是,可是重構不止於此,由於它提供了一種更爲高效且受控的代碼整理事件

技術,運用代碼重構技術後你會發現對代碼的整理會比之前更加高效。重構

重構的目的是使軟件更容易被理解和侯。你能夠在軟件的內部作不少修改,但必須對軟件可觀察的外部行爲只形成很小軟件

的變化,甚至不形成變化。與之造成對比的是性能優化。和重構同樣,性能優化一般也不會改變組件的行爲,只改變執行bug

速度,只修改內部結構。二者的出發點不一樣,性能優化可能會使代碼較難理解。程序

強調一下,重構不會改變軟件的可觀察行爲,也就是說重構以後功能和原來同樣。技術

爲何要重構:


重構改進軟件設計,若是沒有重構,程序的設計會逐漸腐敗變質。好多時候咱們爲了立刻解決問題,就直接修改程序,程序

逐漸失去了本身的結構,這樣下去程序會愈來愈難理解。重構就是整理代碼讓代碼回到應處的位置上。

完成一樣一伯事情,設計不良的程序會每每須要更多代碼,這經常是由於代碼在不一樣的地方使用徹底相同的語句作一樣的事。

改進設計的一個重要緣由就是消除重複代碼。代碼的減小不會使系統運行的更快,由於這對程序的運行沒有任何明顯影響。然而

代碼的減小將使將來可能的程序修改動做更容易。代碼越多修改起來就越麻煩,由於有更多的代碼須要閱讀和理解。若是消除

重複代碼,你就能夠肯定全部事物和行爲在代碼中只表述一次,這正是優秀設計的根本。

重構可讓咱們的代碼更容易理解和閱讀,也能夠幫助咱們找到bug

何時進行重構:


事不過三,過三就重構這個原則要記住,第一次去作某件事時只管去作,第二次再去作相似的事就會不爽,但不管如何仍是能夠

去作,但第三次再去作相似的事件,你就應該重構。

重構的直接緣由每每是幫助我理解須要修改的代碼,這些代碼多是別人寫的,也多是我本身寫的。不管什麼時候只要我想理解代

碼所作的事,就會問,是否能對這些代碼進行重構,使我能快速理解這它,那我就會對它進行重構。

重構的原動力是:代碼設計沒法幫助我輕鬆的添加我所須要的功能,若是用某種設計方式,添加功能會簡單的多,這種狀況能夠用

重構來彌補。重構是一個快速流暢的過程,一旦完成重構,新特性的添加會更快速,更流暢。

若是在修改bug和審查代碼時發現不合理的地方也要進行重構,這樣是爲了更好的閱讀和理解代碼

什麼時候不重構:


若是發現代碼太混亂,重構它不如重寫來的簡單這種狀況下建議重寫,不用進行重構。

若是項目已經進入了最後期限,那也應該避免重構,這時已經有些晚了。最後你沒有時間進行重構代表你其實早就該進行重構了

重構與性能:


有時爲了讓代碼更容易理解,會作出一些使程序運行變慢的修改,這是個重要的問題。這個的解決方案是先寫出可高試的軟件,而後

調整它以求得到足夠的速度。

相關文章
相關標籤/搜索