Ken Pugh是Puge-Killen協(xié)會主席之一。Ken擔(dān)任顧問、從事教育培訓(xùn)、擔(dān)任教師以及出庭提供證詞,涉足的科技領(lǐng)域有面向?qū)ο笤O(shè)計、Linux/unix、網(wǎng)絡(luò)以及系統(tǒng)開發(fā)實(shí)踐。他參與過的項目包括山羊血清流程控制、擔(dān)保抵押處理軟件以及攝影分級。Ken時常在全國會議和區(qū)域會議發(fā)表演講,從倫敦到悉尼都有他的客戶。不工作時,他喜歡滑雪、沖浪、騎自行車以及到阿帕拉契山徑徒步旅行。
圖書目錄
PREFACE 1 INTRODUCTION TO PREFACTORING What Is Prefactoring? The Three Extremes The Guidelines Explored The Context for This Book 2 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 Words 3 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 Wisely 4 GETTING THE BIG PICTURE The Rest of the Story Process The Initial Design Global Planning, Local Designing Testing Functionality Testing quality Security 5 GOT CLASS ? Categories and Classes Declaration Versus Execution Appropriate Inheritance Communicate withext More Than One 6 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 Functions 7 GETTING THERE Where We Are Separating Concerns Migrating to the New System 8 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 Classes 9 ASSOCIATIONS AND STATES Sam's Neuw Requirement Who's in Charge? The State of an Object ]0 INTERFACES AND ADAPTATION The Catalog Search Use Case Designinn the Interface Interface Development Interface Testing Interface Splitting Something Worlking 11 ZIP CODES AND INTERFACES Adaptation Pass the Buck Unwritten Code Indirection Logging Paradigm Mismatch 12 MORE REPORTS Fancy Reports Change Happens Exports 13 INVOICES, CREDIT CARDS, AND DISCOUNTS The Next Step The Language of the Client Security and Priuacy 14 SAM IS EXPANDING The Second Store A New Development The Third Store Goodbye Sam Generality 15 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 Flow 17 EPILOGUE A GUIDELINES AND PRINCIPLES B SOURCE CODE INDEX