重構第0天 重構的理解

2022-03-24 15:56:23 字數 1162 閱讀 1381

最近有幸,發現乙個博友的部落格中對**重構,做了一番簡單的講解。覺得很不錯,比較淺顯移動,一口氣讀完了。今天通過自己的理解,翻譯一下,可能有很多不對的地方,請大家指正。共同學習,共同進步。

隨著時間的推移,重構是提公升**質量不可或缺的一部分。沒有重構,慢慢的就會積累很多的技術債務。忘記**的實現部分,首先建立**的測試部分。這就比較像tdd(測試驅動開發)。這個概念其實很簡單,就是通過寫測試單元,來構建

由於重構的重要性,我用31天這樣乙個概念來共同學習一下。我會通過自己的理解來講述,可能存在喝多歧義和正確性。在我實際寫完部落格之前,我不會先列出乙個列表來展示後面的內容。每當我寫完一章,我會及時在這裡更新連線。

重構的主要內容來自refactoring.com,有一部分來自於code complete 2nd edition(**大全),剩下的一部分來自於我在工作中的總結。我覺得這些內容來自**,並不是最重要的,或許你在其他的部落格和書上能夠看到相同的重構名稱。

明天開始我會持續寫完這個專題,希望大家能夠從中學到關於重構的一些東西,也希望大家指正錯誤,共同學習。

day1:封裝集合  

day2:方法搬移  

day3:方法提公  

day4:方法降低  

day5:提公升字段  

day6: 降低字段  

day7: 重新命名     

day8:  使用委託來代替繼承 

day9:提取介面  

day10:提取方法  

day11:策略模式代替switch  

day12:依賴分解  

day13:抽取方法物件 

day14:職責分離 

day15:移除重複**

day16 封裝條件語句 

day17:抽取父類

day18:用條件語句代替異常

day19 提取工廠類

day20 提取子類

day21 封裝繼承

day22 分解方法

day23  引入引數

day24  分解複雜的判斷 

day25 引入契約設計 

day26 移除雙重否定

day27 去除上帝類

day28 給bool方法命名

day29 去除中間人

day30 盡快返回

day31使用多型代替條件語句

閒聊31天重構 第0天 序言

m 這是我在學習 refactoring 的時候,由於理解能力不足,很多地方都看不太懂。這時候發現it少年鏈結 c版本 他翻譯了一外國英文鏈結對refactoring.com重構知識31天學習的總結。在這裡我將先借用的案例,參考it少年的翻譯,編寫重構番外篇。在理解大體知識後,再對原著 refact...

重構第7天 重新命名(Rename )

理解 重新命名就是把一些函式 字段 類 引數的名稱 重新命名為易於理解,最好是和自身的意義相同的名稱。這樣更易於理解,也可以減少大量的注釋,名字即含義。詳解 這個重構方法是我經常也是最常用的一種。我們經常給函式 類 欄位等命名為一些難以理解,沒有實際意義的名稱,這樣過段時間或者別人看你寫的 的時候,...

重構第30天 盡快返回 Return ASAP

理解 把條件語句中複雜的判斷用盡快返回來簡化。詳解 如首先宣告的是前面講的 分解複雜判斷 簡單的來說,當你的 中有很深的巢狀條件時,花括號就會在 中形成乙個長長的箭頭。我們經常在不同的 中看到這種情況,並且這種情況也會擾亂 的可讀性。下 所示,hasaccess方法裡面包含一些巢狀條件,如果再加一些...