1 option
Prefactoring : extreme abstraction; extreme separation; extreme readability / Ken Pugh.
- Format:
- Book
- Author/Creator:
- Pugh, Kenneth.
- Language:
- English
- Subjects (All):
- Computer programming.
- Computer software--Development.
- Computer software.
- Physical Description:
- 1 online resource (240 p.)
- Edition:
- 1st edition
- Place of Publication:
- Sebastopol, California : O'Reilly, 2005.
- Language Note:
- English
- System Details:
- text file
- Summary:
- Prefactoring approaches software development of new systems using lessons learned from many developers over the years. It is a compendium of ideas gained from retrospectives on what went right and what went wrong in development. Some of these ideas came from experience in refactoring. Refactoring is improving the design of existing code to make it simpler and easier to maintain. This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing. These guidelines can help you create more readable and maintainable code in your next
- Contents:
- Table of Contents; Preface; Everybody Is Different; The Design Example; Audience; Contents of This Book; The Cover; Conventions Used in This Book; Using Code Examples; Comments and Questions; Safari Enabled; Acknowledgments; Introduction to Prefactoring; What Is Prefactoring?; The Three Extremes; Abstraction; Separation of Concerns; Readability; The Guidelines Explored; Context Is Everything; Adapt to Your Own Style; Retrospect on Your Experiences; The Context for This Book; The System in So Many Words; Meet Sam; Tim the Developer; Sam's Request; Sam's Use Cases; The Ilities
- Reinvention AvoidanceWhat's in a Name?; Splitters Versus Lumpers; Clumping; Abstracting; Not Just a String; Constant Avoidance; Prototypes Are Worth a Thousand Words; General Development Issues; Start with the Big Picture; Interface Contracts; Validation; Code Communicates; Implicitness Versus Explicitness; Spell It Out; Spellcheck Your Code; Adapt Your Style to the Environment; Consistency Is Simplicity; A Prefactoring Attitude; Don't Repeat Yourself; Documentation of Assumptions and Decisions; Dealing with Deviations and Errors; Failure Distance; User Messages; Assertions; Speeding
- The Spreadsheet ConundrumA Graphics Example; Who's in Charge; Tools Are Tools-Use Them Wisely; Work with or Against the IDE; Multiple Tools; Getting the Big Picture; The Rest of the Story; Process; Analysis Paralysis; Design Paralysis; The Initial Design; Global Planning, Local Designing; Testing Functionality; Fractals Are Everywhere; Testing Feedback; Testing Quality; Security; Got Class?; Categories and Classes; Different Classes; Different Objects; Declaration Versus Execution; Appropriate Inheritance; Communicate with Text; More Than One; A Few Words on Classes; Honor the Class Maxims
- CohesionCoupling; Three Laws of Objects; Need Determines Class; Polymorphism; Using Inheritance; Using Interfaces; One Little Job; Policy Versus Implementation; Extreme Naming; Overloading Functions; Getting There; Where We Are; Separating Concerns; Calculating the Rental Contract; Creating the Rental Contract; Displaying a Report; Changes and Effects; Migrating to the New System; Loading Current Data; Anticipating Potential Problems; Determining Uniqueness; The First Release; The Proof Is in the Pudding; Retrospective Time; The System as It Stands Now; Operations Interface
- Abstract Data TypesConfiguration; Testing; Test Versus Production; Testing Flexibility; Dealing with Deviations and Errors; Signaling Errors and Deviations; Deviation Conventions; Errors When Importing a File; A Little Prefactoring; Splitters Versus Lumpers; Adopt a Prefactoring Attitude; The First Released Iteration; Sometimes Practice Does Not Match Theory; Unintended Coupling; Nothing Is Perfect; There's Always an Exception; A Little Misunderstanding; The Rest of the Classes; Associations and States; Sam's New Requirement; Who's in Charge?; One Class in Charge; Association Classes
- The State of an Object
- Notes:
- Description based upon print version of record.
- Includes bibliographical references and index.
- Description based on print version record.
- ISBN:
- 9780596514495
- 0596514492
- OCLC:
- 775300498
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.