軟件預構藝術

出版時間:2006-5  出版社:東南大學  作者:Ken Pugh  頁數(shù):220  
Tag標簽:無  

內容概要

利用經驗累積而得的洞察力開發(fā)新的解決方案被稱為預構。透過重構而獲得的專業(yè)知識也屬于這類經驗,而預構的詞源即重構。重構是修改程序或軟件系統(tǒng)內部結構的實踐,以此在保留其現(xiàn)有行為的基礎上改良設計。重構的原因有多種:方便后期增加功能、提高可維護性、提升性能。     本書作者是經驗老道的軟件開發(fā)人員。書中,作者運用他個人和其他眾多開發(fā)人員的豐富經驗,展示由其推衍而得的各項實踐方針。這些方針把優(yōu)秀的開發(fā)人員在設計時隱而未顯的考慮細節(jié)如實地呈現(xiàn)出來。許多方針都圍繞著極致抽象化、極致隔離以及極致可讀性這幾個概念。在假想的軟件項目和實際項目的介紹中,作者把實踐方針呈現(xiàn)在讀者面前。其中幾條于稍后列出。     把作者的方針應用到你的軟件項目,有助于寫出可讀性、可維護性更棒的程序。這些方針可以協(xié)助你前期決策,以減少后期重構的工作量。在這樣的前提下,你可以預測未來,減少修改。簡言之,就是程序預構會使你更有效率。

作者簡介

Ken Pugh是Puge-Killen協(xié)會主席之一。Ken擔任顧問、從事教育培訓、擔任教師以及出庭提供證詞,涉足的科技領域有面向對象設計、Linux/unix、網絡以及系統(tǒng)開發(fā)實踐。他參與過的項目包括山羊血清流程控制、擔保抵押處理軟件以及攝影分級。Ken時常在全國會議和區(qū)域會議發(fā)表演講,從倫敦到悉尼都有他的客戶。不工作時,他喜歡滑雪、沖浪、騎自行車以及到阿帕拉契山徑徒步旅行。

書籍目錄

PREFACE1 INTRODUCTION TO PREFACTORING  What Is Prefactoring?  The Three Extremes  The Guidelines Explored  The Context for This Book2 THE SYSTEM IN SO MANY WORDS  Meet Sam  Reinvention Avoidance  What's in a Name?  Splitters Versus Lumpers  Clumping  Abstracting  Prototypes Are Worth a Thousand Words3 GENERAL DEVELOPMENT ISSUES  Start with the Big Picture  Interface Contracts  Validation  Code Communicates  Consistency Is Simplicity  A Prefactoring Attitude  Don't Repeat Yourself  Documentation of Assumptions and Decisions  Dealing with Deuiations and Errors  Speeding  The Spreadsheet Conundrum  Tools Are Tools--Use Them Wisely4 GETTING THE BIG PICTURE  The Rest of the Story  Process  The Initial Design  Global Planning, Local Designing  Testing Functionality  Testing quality  Security5 GOT CLASS ?  Categories and Classes  Declaration Versus Execution  Appropriate Inheritance  Communicate withext  More Than One6 A FEW WORDS ON CLASSES  Honor the Class Maxims  Three Laws of Objects  Need Determines Class  Polymorphism  One Little.lob  Policy Versus Implementation  Extreme Naming  Overloading Functions7 GETTING THERE  Where We Are  Separating Concerns  Migrating to the New System8 THE FIRSTRELEASE  The Proof Is in the Puddin.~  Relrospective Time  The System as It Stands Now  Operations Interface  Abstract Data Types  Configuration  Testing  Dealing with Deuiations and Errors  A Little Prefactofing  The First Released Iteration  Sometimes Practice Does Not Match Theory  The Rest of the Classes9 ASSOCIATIONS AND STATES  Sam's Neuw Requirement  Who's in Charge?  The State of an Object10 INTERFACES AND ADAPTATION  The Catalog Search Use Case  Designinn the Interface  Interface Development  Interface Testing  Interface Splitting  Something Worlking11 ZIP CODES AND INTERFACES  Adaptation  Pass the Buck  Unwritten Code  Indirection  Logging  Paradigm Mismatch12 MORE REPORTS  Fancy Reports  Change Happens  Exports13 INVOICES, CREDIT CARDS, AND DISCOUNTS  The Next Step  The Language of the Client  Security and Priuacy14 SAM IS EXPANDING  The Second Store  A New Development  The Third Store  Goodbye Sam  Generality15 A PRINTSERVER EXAMPLE  Introduction  The System  The Message  Testing  Logging  Still More Separation  Epilogue]6 ANTISPAM EXAMPLE  The Context  Spare Checking  The ReceivingMailServer  ReceivedMailExaminer  The Full Flow17 EPILOGUEA  GUIDELINES AND PRINCIPLESB  SOURCE CODEINDEX

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    軟件預構藝術 PDF格式下載


用戶評論 (總計3條)

 
 

  •   我們都在coding,我們都在re-factoring,,那么在coding和re-factoring之間我們應該干什么?這本書的視角獨特,可細看進去,我們要做要注意的其實還是那些事情.
  •   視角不錯!不愧獲得06Jolt震撼大獎!把研發(fā)項目中客戶的參與很形象地表達出來,英語表達清楚簡練,案例規(guī)模適中,很多經驗總結得簡要、清楚!在自然而然中,道出了軟件設計研發(fā)的要義。
  •   pre-factoring理解為重構的反義詞就可以了。老美就是喜歡造新詞
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7