重構─改善既有程式的設計, 2/e (Refactoring: Improving The Design of Existing Code)

Martin Fowler, Kent Beck, John Brant, William Opdyke, don Roberts 著 侯捷、熊節 譯

  • 出版商: 碁峰資訊
  • 出版日期: 2008-07-31
  • 定價: $800
  • 售價: 7.9$632
  • 語言: 繁體中文
  • 頁數: 464
  • 裝訂: 平装
  • ISBN: 9861547533
  • ISBN-13: 9789861547534
  • 相關分類: Refactoring
  • 已絕版

買這商品的人也買了...

商品描述

本書第一版繁中版已絕版,歡迎選購其他版本:


當物件技術成為老生常談之後 — 尤其在 Java 編程語言之中,新的問題也在軟體開發社群中浮現了出來。

缺乏經驗的開發人員完成了大量粗劣設計,獲得的程式不但缺乏效率,也難以維護和擴展。

漸漸地,軟體系統專家發現,與這些沿襲下來的、品質不佳的程式共處,是多麼艱難。

物件專家運用許多(而且日漸更多)技術來改善既有程式的結構完善性與性能,已有數年之久。

但是這些被稱為「重構」(refactoring)的實踐技術,一直(只)流傳在專家領域內,因為沒有人願意將全部這些知識錄寫為所有開發人員可讀的形式。這種情況如今終於結束。

在《Refactoring: Improving the Design of Existing Code》書中,知名的物件技術者 Martin Fowler 闖入新的領域,褪去那些名家實踐手法的神秘面紗,並展示軟體從業人員領悟這種新過程的重大意義。

只要受過適度訓練,一位技巧嫻熟的系統程式員可以在拿到一個糟糕的設計之後,把它翻新為設計良好、穩健強固的程式碼。

本書之中,Martin Fowler 告訴你重構機會通常可以在哪裡找到,以及如何將一個糟糕的設計重新修訂為一個良好的設計。

每個重構步驟都十分簡 — 簡單到了似乎不值得去做的程度。

重構涉及將欄位(field)從一個 class 搬移到另一個class,或將某些程式碼拉出來獨立為另一個函式(method),或甚至將某些程式碼上下移動於繼承體系(hierarchy)之中。

這些個別步驟雖然可能十分基本,積累下來的影響卻能夠徹底改善設計。重構已經被證明可以阻止軟體的腐朽與衰敗。

除了討論各式各樣的重構技術,作者還提供了一份詳細名錄(catalog),其中有超過 70個已被證明效果的重構手法,以饒富幫助的重點,教導你實施的時機,實施時的逐步指令。

並各自攜帶一個例子,顯示重構的運轉。這些富有良好解說價值的實例都以 Java 寫就,其中的觀念適用於任何物件導向編程語言。

作者簡介

Martin Fowler 是一位獨立諮詢顧問,他運用物件技術解決企業問題已經超過 10 年。他的顧問領域包括健康管理、金融貿易,以及法人財務。他的客戶包括 Chrysler, Citibank,UK National Health Service, Andersen Consulting, Netscape Communications。此外Fowler 也是objects、UML、patterns 技術的一位合格講師。他是《Analysis Patterns》和《UML Distilled》的作者。

Kent Beck 是一位知名的程式員、測試員、重構員、作家、五弦琴專家。

John Brant 和 Don Roberts 是《Refactoring Browser for Smalltalk》的作者,此書可從http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser 獲得。他們兩人也是諮詢顧問,研究重構的實踐與理論有六年之久。

William Opdyke 在伊利諾大學所做的 object-oriented frameworks(物件導向框架)博士研究,導出了重構領域的第一份重要出版品。他目前是 Lucent Technologies/Bell Laboratories 的一名卓越技術人員。

 

 

譯者 侯捷,致力計算機技術教育超過 10 年 — 以著作、翻譯、評論、專欄、授課等多重形式。對於各種層級、各種定位、各種技術領域之 Framework Libraries 有濃烈興趣和鑽研。


譯者 熊節,普通程式員,喜編程,樂此而不疲。酷愛讀書,好求新知。記性好忘性大,故凡有所得必記諸文字,有小得,無大成。胸有點墨,心無大志,惟願寧靜淡泊而已。夜闌人靜,一杯清水,幾本閑書,神交於各方名士,獻曝於天下同好,吾願足矣。

中文版(本書)支援網站:http://www.jjhou.com(繁體)http://jjhou.csdn.net(簡體)

目錄大綱

第1章:重構,第一個案例(Refactoring, a First Example)
第2章:重構原則(Principles in Refactoring)
第3章:程式碼的壞味道(Bad Smells in Code, by Kent Beck and Martin Fowler)
第4章:建立測試體系(Building Tests)
第5章:重構名錄(Toward a Catalog of Refactoring)
第6章:重新組織你的函式(Composing Methods)
第7章:在物件之間移動特性(Moving Features Between Objects)
第8章:重新組織你的資料(Organizing Data)
第9章:簡化條件句(Simplifying Conditional Expressions)
第10章:簡化函式呼叫(Making Method Calls Simpler)
第11章:處理繼承關係(Dealing with Generalization)
第12章:大型重構(Big Refactorings, by Kent Beck and Martin Fowler)
第13章:重構, 復用, 與現實(Refactoring, Reuse, and Reality, by William Opdyke)
第14章:重構工具(Refactoring Tools, by Don Roberts and John Brant)
第15章:綜述(Put It All Together, by Kent Beck)