出版時間: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
無
評論、評分、閱讀與下載