词条 | 软件预构艺术 |
释义 | 图书信息出版社: 东南大学出版社; 第1版 (2006年5月1日) 平装: 220页 开本: 16开 ISBN: 9787564103651, 7564103655 条形码: 9787564103651 尺寸: 23.3 x 17.9 x 1.1 cm 重量: 381 g 作者简介Ken Pugh是Puge-Killen协会主席之一。Ken担任顾问、从事教育培训、担任教师以及出庭提供证词,涉足的科技领域有面向对象设计、Linux/unix、网络以及系统开发实践。他参与过的项目包括山羊血清流程控制、担保抵押处理软件以及摄影分级。Ken时常在全国会议和区域会议发表演讲,从伦敦到悉尼都有他的客户。不工作时,他喜欢滑雪、冲浪、骑自行车以及到阿帕拉契山径徒步旅行。 内容简介利用经验累积而得的洞察力开发新的解决方案被称为预构。透过重构而获得的专业知识也属于这类经验,而预构的词源即重构。重构是修改程序或软件系统内部结构的实践,以此在保留其现有行为的基础上改良设计。重构的原因有多种:方便后期增加功能、提高可维护性、提升性能。 本书作者是经验老道的软件开发人员。书中,作者运用他个人和其他众多开发人员的丰富经验,展示由其推衍而得的各项实践方针。这些方针把优秀的开发人员在设计时隐而未显的考虑细节如实地呈现出来。许多方针都围绕着极致抽象化、极致隔离以及极致可读性这几个概念。在假想的软件项目和实际项目的介绍中,作者把实践方针呈现在读者面前。其中几条于稍后列出。 把作者的方针应用到你的软件项目,有助于写出可读性、可维护性更棒的程序。这些方针可以协助你前期决策,以减少后期重构的工作量。在这样的前提下,你可以预测未来,减少修改。简言之,就是程序预构会使你更有效率。 目录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 10 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 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。