国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

重構-改善既有代碼的設計(五)--重構列表

davidac / 2387人閱讀

摘要:什么是重構列表重構方法需要以一種特定的格式記錄下來。這些重構手法到底有多成熟本書中提到的重構手法第章。做法創造新函數,以用途命名提煉代碼到函數中檢查變量名是否符合規范在源函數中,將被提煉代碼替換為函數引用測試范例重構前重構后

什么是重構列表

重構方法需要以一種特定的格式記錄下來。按照格式記錄下來的重構方法的集合叫重構列表

重構的記錄格式

每個重構手法可分為5個部分:

名稱

構建重構詞匯列表,名稱當然是很關鍵的了,要充分的表達出重構的核心關鍵;

概要

介紹重構手法的功能,以及應用場景;便于我們查找重構手法;包括三個部分:

一句話介紹重構能解決的問題

一段簡短陳述,介紹你應該做的事

一副速寫圖,簡單展現重構前后示例,可以是一段代碼或UML圖

動機

介紹為什么要用以及什么情況下要用這種重構手法;

做法

簡明扼要的介紹怎么一步步實現這種手法;

A.做法出自我的筆記,這些筆記是為了我在一段時間不做重構后還記得怎么做。如果清楚知道該使用哪個重構,但不知道具體步驟可以查看做法;但如果是初次使用的話,還 要結合范例。

范例

以一個簡單的例子說明如何實現這種手法;

尋找引用點

很多重構需要找到一個字段,一個方法,一個類的所有引用點。使用文本查詢工具.比如idea的文本查詢和代碼預編譯。

這些重構手法到底有多成熟

本書中提到的重構手法(第3章)。都是作者試過的。但是不能一本不變。依具體情況具體使用

demo

名稱:提煉函數
概要:你有一段代碼可以被組織在一起并獨立出來。將這段代碼放進一個獨立函數,并讓函數名稱解釋該函數的用途。

void printOwing() {   
    //print banner  
    System.out.println(“*********”);  
    System.out.println(“Banner”);  
    System.out.println(“*********”);  
    //print details  
    System.out.println ("name: " + _name);   
        System.out.println ("amount " + getOutstanding());   
}   

重構后
void printOwing()  {  
    printBanner();   
    printDetails(getOutstanding());   
} 
Void printBanner()  {  
    //print banner  
    System.out.println(“*********”);  
    System.out.println(“Banner”);  
    System.out.println(“*********”);  
}  
void printDetails (double outstanding)   {   
    System.out.println ("name: " + _name);   
    System.out.println ("amount " + outstanding);   
}
動機

過長的函數或者一段需要注釋才能讓人理解用途的代碼,就應該將這段代碼放進一個獨立函數中。簡短而命名良好的函數的好處:
1)如果每個函數的粒度都很小,那么函數被復用的機會就更大;
2)這會使高層函數讀起來就想一系列注釋;
3)如果函數都是細粒度,那么函數的覆寫也會更容易些。

做法

創造新函數,以用途命名

提煉代碼到函數中

檢查變量名是否符合規范

在源函數中,將被提煉代碼替換為函數引用

測試

范例
 重構前
 void printOwing() {   
        //print banner  
        System.out.println(“*********”);  
        System.out.println(“Banner”);  
        System.out.println(“*********”);  
        //print details  
        System.out.println ("name: " + _name);   
            System.out.println ("amount " + getOutstanding());   
    }   

重構后
void printOwing()  {  
    printBanner();   
    printDetails(getOutstanding());   
} 
Void printBanner()  {  
    //print banner  
    System.out.println(“*********”);  
    System.out.println(“Banner”);  
    System.out.println(“*********”);  
}  
void printDetails (double outstanding)   {   
    System.out.println ("name: " + _name);   
    System.out.println ("amount " + outstanding);   
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69712.html

相關文章

  • 重構-改善既有代碼設計》讀書筆記-重構

    摘要:重構改善既有代碼設計動詞使用一系列重構手法,在不改變軟件可觀察行為的前提下,調整其結構。修補錯誤時重構代碼時重構怎么重構關于代碼的重構技巧參考重構改善既有代碼設計讀書筆記代碼篇個人博客 重構定義 名詞 對軟件內部結構的一種調整,目的是在不改變軟件可觀察行為的前提下,提高其可理解性,降低其修改成本。——《重構-改善既有代碼設計》 動詞 使用一系列重構手法,在不改變軟件可觀察行為的前提下,...

    ermaoL 評論0 收藏0
  • 讀書筆記《重構 改善既有代碼設計

    摘要:重構在不改變代碼的外在的行為的前提下對代碼進行修改最大限度的減少錯誤的幾率本質上,就是代碼寫好之后修改它的設計。重構可以深入理解代碼并且幫助找到。同時重構可以減少引入的機率,方便日后擴展。平行繼承目的在于消除類之間的重復代碼。 重構 (refactoring) 在不改變代碼的外在的行為的前提下 對代碼進行修改最大限度的減少錯誤的幾率 本質上, 就是代碼寫好之后 修改它的設計。 1,書中...

    mdluo 評論0 收藏0
  • 重構-改善既有代碼設計(二) --重構原則

    摘要:改進代碼設計的一個重要原則就是消除重復代碼使軟件更容易被理解優秀的代碼能夠讓接收你代碼的付出更少的學習成本。重構更容易找到重構能加深對代碼的理解。可以重構的情況添加功能時可以重構。說明你沒有發現代碼的錯誤。需要重構復審代碼時可以重構。 為何重構 重構不是銀彈,但是幫助你達到以下幾個目的 改進軟件設計 不良的程序需要更多的代碼。而代碼越多,正確的修改就越困難。改進代碼設計的一個重要原則就...

    myshell 評論0 收藏0
  • 重構-改善既有代碼設計(一)--重構,第一個案例

    摘要:并根據目錄選讀第章重構,第一個案例這是只是一個方法。絕大多數情況下,函數應該放在它所使用的數據的所屬對象內最好不要在另一個對象的屬性基礎上運用語句。 什么是重構 在不改變代碼外在行為的前提下,對代碼做出修改以改進程序內部的結構簡單地說就是在代碼寫好后改進它的設計 誰該閱讀這本書 專業程序員(能夠提高你的代碼質量) 資深設計師和架構規劃師(理解為什么需要重構,哪里需要重構) 閱讀技巧...

    acrazing 評論0 收藏0
  • 重構---改善既有代碼設計》之簡化條件表達式

    那有什么天生如此,只是我們天天堅持。 本篇文章主要講解 《重構---改善既有代碼的設計》 這本書中的 第九章簡化條件表達式中 的知識點, Decompose Conditional(分解條件表達式) 問題:你有一個復雜的條件(if、then、else) 語句 解決:從if、then、else三個段落中分別提煉出獨立函數 //重構前 if (date.before(SUMMER_START) |...

    Cheng_Gang 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<