[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • 【正版圖書】重構 改善既有代碼的設計 (美)馬丁·福勒(Martin Fo
    該商品所屬分類:圖書 -> 遼寧音響出版社
    【市場價】
    883-1280
    【優惠價】
    552-800
    【作者】 馬丁·福勒Martin 
    【出版社】人民郵電出版社 
    【ISBN】9787115508652
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    店鋪:遼寧音像出版社圖書專營店
    出版社:人民郵電出版社
    ISBN:9787115508652

    商品編碼:10029238635061
    包裝:平裝
    出版時間:2019-05-01

    作者:馬丁·福勒(Martin

        
        
    "

    基本信息

    書名:重構 改善既有代碼的設計

    定價

    作者:(美)馬丁·福勒(Martin Fowler)

    出版社:人民郵電出版社

    出版日期:2019-05-01

    ISBN:9787115508652

    字數:546000

    頁碼:421

    版次:1

    裝幀:平裝

    開本:16開

    商品重量:

    編輯推薦


    內容提要


    本書是經典著作《重構》出版20年後的更新版。書中清晰揭示了重構的過程,解釋了重構的原理和實踐方式,並給出了何時以及何地應該開始挖掘代碼以求改善。書中給出了60多個可行的重構,每個重構都介紹了一種經過驗證的代碼變換手法的動機和技術。本書提出的重構準則將幫助開發人員一次一小步地修改代碼,從而減少了開發過程中的風險。
    本書適合軟件開發人員、項目管理人員等閱讀,也可作為高等院校計算機及相關專業師生的參考讀物。

    目錄


    章 重構,個示例 1
    1.1 起點 1
    1.2 對此起始程序的評價 3
    1.3 重構的步 5
    1.4 分解statement 函數 6
    1.5 進展:大量嵌套函數 22
    1.6 拆分計算階段與格式化階段 24
    1.7 進展:分離到兩個文件(和兩個階段) 31
    1.8 按類型重組計算過程 34
    1.9 進展:使用多態計算器來提供數據 41
    1.10 結語 43
    第2章 重構的原則 45
    2.1 何謂重構 45
    2.2 兩頂帽子 46
    2.3 為何重構 47
    2.4 何時重構 50
    2.5 重構的挑戰 55
    2.6 重構、架構和YAGNI 62
    2.7 重構與軟件開發過程 63
    2.8 重構與性能 64
    2.9 重構起源何處 67
    2.10 自動化重構 68
    2.11 延展閱讀 70
    第3章 代碼的壞味道 71
    3.1 神秘命名(Mysterious Name) 72
    3.2 重復代碼(Duplicated Code) 72
    3.3 過長函數(Long Function) 73
    3.4 過長參數列表(Long Parameter List) 74
    3.5 全局數據(Global Data) 74
    3.6 可變數據(Mutable Data) 75
    3.7 發散式變化(Divergent Change) 76
    3.8 霰彈式修改(Shotgun Surgery) 76
    3.9 依戀情結(Feature Envy) 77
    3.10 數據泥團(Data Clumps) 78
    3.11 基本類型偏執(Primitive Obsession) 78
    3.12 重復的switch(Repeated Switches) 79
    3.13 循環語句(Loops) 79
    3.14 素(Lazy Element) 80
    3.15 誇誇其談通用性(Speculative Generality) 80
    3.16 臨時字段(Temporary Field) 80
    3.17 過長的消息鏈(Message Chains) 81
    3.18 中間人(Middle Man) 81
    3.19 內幕交易(Insider Trading) 82
    3.20 過大的類(Large Class) 82
    3.21 異曲同工的類(Alternative Classes with Different Interfaces) 83
    3.22 純數據類(Data Class) 83
    3.23 被拒絕的遺贈(Refused Bequest) 83
    3.24 注釋(Comments) 84
    第4章 構築測試體繫 85
    4.1 自測試代碼的價值 85
    4.2 待測試的示例代碼 87
    4.3 個測試 90
    4.4 再添加一個測試 93
    4.5 修改測試夾具 95
    4.6 探測邊界條件 96
    4.7 測試遠不止如此 99
    第5章 介紹重構名錄 101
    5.1 重構的記錄格式 101
    5.2 挑選重構的依據 102
    第6章 組重構 105
    6.1 提煉函數(Extract Function) 106
    6.2 內聯函數(Inline Function) 115
    6.3 提煉變量(Extract Variable) 119
    6.4 內聯變量(Inline Variable) 123
    6.5 改變函數聲明(Change Function Declaration) 124
    6.6 封裝變量(Encapsulate Variable) 132
    6.7 變量改名(Rename Variable) 137
    6.8 引入參數對像(Introduce Parameter Object) 140
    6.9 函數組合成類(Combine Functions into Class) 144
    6.10 函數組合成變換(Combine Functions into Transform) 149
    6.11 拆分階段(Split Phase) 154
    第7章 封裝 161
    7.1 封裝記錄(Encapsulate Record) 162
    7.2 封裝集合(Encapsulate Collection) 170
    7.3 以對像取代基本類型(Replace Primitive with Object) 174
    7.4 以查詢取代臨時變量(Replace Temp with Query) 178
    7.5 提煉類(Extract Class) 182
    7.6 內聯類(Inline Class) 186
    7.7 隱藏委托關繫(Hide Delegate) 189
    7.8 移除中間人(Remove Middle Man) 192
    7.9 替換算法(Substitute Algorithm) 195
    第8章 搬移特性 197
    8.1 搬移函數(Move Function) 198
    8.2 搬移字段(Move Field) 207
    8.3 搬移語句到函數(Move Statements into Function) 213
    8.4 搬移語句到調用者(Move Statements to Callers) 217
    8.5 以函數調用取代內聯代碼(Replace Inline Code with Function Call) 222
    8.6 移動語句(Slide Statements) 223
    8.7 拆分循環(Split Loop) 227
    8.8 以管道取代循環(Replace Loop with Pipeline) 231
    8.9 移除死代碼(Remove Dead Code) 237
    第9章 重新組織數據 239
    9.1 拆分變量(Split Variable) 240
    9.2 字段改名(Rename Field) 244
    9.3 以查詢取代派生變量(Replace Derived Variable with Query) 248
    9.4 將引用對像改為值對像(Change Reference to Value) 252
    9.5 將值對像改為引用對像(Change Value to Reference) 256
    0章 簡化條件邏輯 259
    10.1 分解條件表達式(Depose Conditional) 260
    10.2 合並條件表達式(Consolidate Conditional Expression) 263
    10.3 以衛語句取代嵌套條件表達式(Replace Nested Conditional with Guard Clauses) 266
    10.4 以多態取代條件表達式(Replace Conditional with Polymorphism) 272
    10.5 引入特例(Introduce Spe Case) 289
    10.6 引入斷言(Introduce Assertion) 302
    1章 重構API 305
    11.1 將查詢函數和修改函數分離(Separate Query from Modifier) 306
    11.2 函數參數化(Parameterize Function) 310
    11.3 移除標記參數(Remove Flag Argument) 314
    11.4 保持對像完整(Preserve Whole Object) 319
    11.5 以查詢取代參數(Replace Parameter with Query) 324
    11.6 以參數取代查詢(Replace Query with Parameter) 327
    11.7 移除設值函數(Remove Setting Method) 331
    11.8 以工廠函數取代構造函數(Replace Constructor with Factory Function) 334
    11.9 以命令取代函數(Replace Function with Command) 337
    11.10 以函數取代命令(Replace Command with Function) 344
    2章 處理繼承關繫 349
    12.1 函數上移(Pull Up Method) 350
    12.2 字段上移(Pull Up Field) 353
    12.3 構造函數本體上移(Pull Up Constructor Body) 355
    12.4 函數下移(Push Down Method) 359
    12.5 字段下移(Push Down Field) 361
    12.6 以子類取代類型碼(Replace Type Code with Subclasses) 362
    12.7 移除子類(Remove Subclass) 369
    12.8 提煉超類(Extract Superclass) 375
    12.9 折疊繼承體繫(Collapse Hierarchy) 380
    12.10 以委托取代子類(Replace Subclass with Delegate) 381
    12.11 以委托取代超類(Replace Superclass with Delegate) 399
    參考文獻 405
    索引 409

    作者介紹


    序言





    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部