中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

重構,改善代碼設計----初覽

發布時間:2020-06-14 20:09:19 來源:網絡 閱讀:656 作者:niceheart 欄目:開發技術

   看完《重構-改善既有代碼的設計》一書,心里激起了點漣漪,既感覺有那么點感覺在以后的代碼中小試牛刀,又感覺好些東西雖然看過了,可實際使用時還是會遇上莫名的問題的。沒看之前頭腦是清晰的,看了后反而頭大了,不知所云……

   既然頭大,那我就慢慢梳理一下吧!

   重構一共十五章:

   第一章:重構,第一個案例

        本章開始引入重構,用一個案例讓我們嘗試一點點甜頭,然后對重構起一個總綱的作用,涉及到后邊章節中的一些重構手法;重點講了什么時候重構,如何重構,重構的步驟,重構時需要的準備工作,重構手法,重構技術等等。

        本章總結:以微小的步伐修改程序,每修改一處并及時測試,是否有所改變,若改變則立刻回到上一步檢查,因為重構的本質是不改變功能的任何變化,只改變閱讀效果。


   第二章:重構原則

         本章講了重構的定義,重構的原則,重構目的以及何時重構。我分別把兩個不同方式定義列出:

  (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張王牌為所有的重構的使用埋下伏筆,這四個重構手法可理解為道,而前幾張手法理解為術,這是一種升華之象,融會貫通才是上上之策,此處的每一個手法可讓你無法回頭,細細品味吧。


   第十三章:重構,復用與現實

          本章輕描淡寫的談了作者的經驗,在開發中實際遇上的問題,對重構再次加深印象,告訴你重構的本性,何時重構,何時開始,何時停止,何時前進,何時等待,只有敢于停止時就得道了。


   第十四章:重構工具

         本章對重構工具介紹和使用。


   第十五章:總結

         本章對重構高度總結,即給你鼓勵也給你警示,總之一句話,何時得道,是在你停止重構時得道,重構漫漫,多少人能從中自拔,只見風飄飄兮易水寒,碼農一去兮不復返。


   重構一書到處結束,個中滋味只有君讀完才能體會,有時波濤洶涌、激情澎湃,有時萬念俱灰,可每當停步時,我們總堅信,黎明的曙光就在前面,愿君伴之。

      

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肃南| 五河县| 冕宁县| 贡山| 犍为县| 济源市| 新郑市| 大连市| 双柏县| 高安市| 赫章县| 太湖县| 鹤山市| 同仁县| 嫩江县| 富顺县| 岳池县| 和硕县| 石城县| 德阳市| 白沙| 彭阳县| 阳高县| 安新县| 江源县| 海林市| 高碑店市| 文成县| 鸡东县| 镇坪县| 增城市| 榆社县| 永寿县| 漳平市| 保定市| 万源市| 泊头市| 雷山县| 司法| 张家界市| 合作市|