您好,登錄后才能下訂單哦!
看完《重構-改善既有代碼的設計》一書,心里激起了點漣漪,既感覺有那么點感覺在以后的代碼中小試牛刀,又感覺好些東西雖然看過了,可實際使用時還是會遇上莫名的問題的。沒看之前頭腦是清晰的,看了后反而頭大了,不知所云……
既然頭大,那我就慢慢梳理一下吧!
重構一共十五章:
第一章:重構,第一個案例
本章開始引入重構,用一個案例讓我們嘗試一點點甜頭,然后對重構起一個總綱的作用,涉及到后邊章節中的一些重構手法;重點講了什么時候重構,如何重構,重構的步驟,重構時需要的準備工作,重構手法,重構技術等等。
本章總結:以微小的步伐修改程序,每修改一處并及時測試,是否有所改變,若改變則立刻回到上一步檢查,因為重構的本質是不改變功能的任何變化,只改變閱讀效果。
第二章:重構原則
本章講了重構的定義,重構的原則,重構目的以及何時重構。我分別把兩個不同方式定義列出:
(1)重構定義-名次形式:對軟件內部結構的一種調整,目的是在不改變軟件可觀察行為的前提下,提高其可理解性,降低修改成本。
(2)重構定義-動詞形式:使用一系列重構手法,在不改變軟件可觀察行為的前提下,調整其結構。
接下來我對性能優化和重構的區別談談:
性能優化:目的是提高性能,代碼往往不易理解,但為了性能不得不這樣做;
重構 :使代碼易被理解,易被修改,但軟件功能一如既往。
重構遵守原則:
(1)加新功能則不重構;
(2)重構時不加新功能。
第三章:代碼壞味道(重要章節)
本章重點談了常見的22個壞味道的地方,同時給出了22種解決方案來一一解決這些問題,相當于22把鍘刀,為重構能順利進行剔除了障礙,有了他們的護航,我們會更加自信的去做這些事,而且知道怎么做,用什么去做,對號入座,具體每一個方法不一一列出,請直接看書會更精彩。
第四章:構筑測試體系
本章重點談了要能順利并很好的進行重構,必須有一個好的測試作為保障,否則重構后的功能面目全非,南轅北轍,這偏離了我們的本意。
構筑一套測試體系就是一個強大的bug偵測器,能夠大大縮減查找bug所需的時間。
嚴格要求:一步一測試。
第五章:重構列表
本章重點介紹了重構時如何進行記錄列表,如何尋找引用點,如何運用重構手法進行重構。
第六章:重新組織函數(重要章節)
本章是在第三章的基礎上再次對重構手法深入學習,運用了9個重構手法對函數進行重組,每一個手法都足以讓你一醉不醒,強烈建議去看書,此處只做概論不細說,這里也算是9把鍘刀,而且會更鋒利。
第七章:在對象之間搬移特性(重要章節)
本章重點對字段、函數,類等一些處理方式,使用了8個重構手法針對對象之間的特性進行處理,其中每一個手法都會讓你眼前一亮,絕對高大上,重點是搬移那些不該出現在不該出現的地方的對象,通過這8把鍘刀,足以讓他們生活屬于自己的領地領空,要知道,當今的領域管理很嚴格,去到不該去的地方,小心×××把你給毀了。
第八章:重新組織數據(重要章節)
本章主要是規范數據,尤其對哪些魔法數恨之入骨,所以編碼時尤其小心。針對數據采用了16個手法進行處理,細看后會讓你撲朔迷離,真有一如重構深似海的感覺。
對魔法數解釋一下,我剛開始看的時候我也不知道是什么意思。
魔法數:即指帶有特殊含義的數字。指哪些在代碼中直接使用的數字,此時遇上這種,解決方式就是用一個常量去替換掉,比如3.1415926
本章的很多重構手法需要好好研究,其中Replace Type code with subclasses(以子類取代類型編碼),Replace Type code with state/strategy(以state/strategy取代類型碼)等。
硬編碼值:只固定值,比如常量,1,0 等。
第九章:簡化條件表達式(重要章節)
本章用8個手法對不同的表達式進行處理,優化的表達式的邏輯結構,比較核心的如Replace Conditional with Polymorphism(以多態取代條件表達式),好好研究,受益無窮。
第十章:簡化函數調用(重要章節)
本章核心是規范函數的名稱,分離函數的邏輯與表示層,對函數的增減參數的處理,封裝轉型,異常處理等等,總共用了15個手法,讓你對函數的使用提高一個高度,從此對函數的每一個參數,字段,名稱不再持無所謂態度,有此良好的風格,得益于這15把鍘刀的藝術修剪,此刻你已不能自拔。
第十一章:處理概括關系(重要章節)
先解釋一下什么叫概括:所謂概括關系即繼承關系。
本章用12個手法將類與類之間的關系處理得相當好,猶如管理后宮一般,將每個類的職責劃分得清清楚楚,有倒是增一分嫌多,減一分嫌少。根據類的職責將字段,方法移到他們該去的地方,將復雜的類提煉出獨立的功能,如此減輕了類的負擔,也使類能益年長壽。
第十二章:大型重構
本章總概了所有的重構手法,利用最后4張王牌為所有的重構的使用埋下伏筆,這四個重構手法可理解為道,而前幾張手法理解為術,這是一種升華之象,融會貫通才是上上之策,此處的每一個手法可讓你無法回頭,細細品味吧。
第十三章:重構,復用與現實
本章輕描淡寫的談了作者的經驗,在開發中實際遇上的問題,對重構再次加深印象,告訴你重構的本性,何時重構,何時開始,何時停止,何時前進,何時等待,只有敢于停止時就得道了。
第十四章:重構工具
本章對重構工具介紹和使用。
第十五章:總結
本章對重構高度總結,即給你鼓勵也給你警示,總之一句話,何時得道,是在你停止重構時得道,重構漫漫,多少人能從中自拔,只見風飄飄兮易水寒,碼農一去兮不復返。
重構一書到處結束,個中滋味只有君讀完才能體會,有時波濤洶涌、激情澎湃,有時萬念俱灰,可每當停步時,我們總堅信,黎明的曙光就在前面,愿君伴之。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。