My Account
View Cart
Home
Community
Books & Videos
Safari Books Online
Conferences
Training
School of Technology
About
Complete List
Bestsellers
New Releases
Rough Cuts
Upcoming Titles
Ebooks
By Publisher
By Series
Out of Print
Order Info
Search
Search Tips
Tell a friend
Prefactoring
By
Ken Pugh
September 2005
Pages: 238
|
Table of Contents
|
Index
|
Sample Chapter
|
Colophon
Table of Contents
Chapter One
Introduction to Prefactoring
What Is Prefactoring?
The Three Extremes
The Guidelines Explored
The Context for This Book
Chapter Two
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
Chapter Three
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 Deviations and Errors
Speeding
The Spreadsheet Conundrum
Tools Are Tools—Use Them Wisely
Chapter Four
Getting the Big Picture
The Rest of the Story
Process
The Initial Design
Global Planning, Local Designing
Testing Functionality
Testing Quality
Security
Chapter Five
Got Class?
Categories and Classes
Declaration Versus Execution
Appropriate Inheritance
Communicate with Text
More Than One
Chapter Six
A Few Words on Classes
Honor the Class Maxims
Three Laws of Objects
Need Determines Class
Polymorphism
One Little Job
Policy Versus Implementation
Extreme Naming
Overloading Functions
Chapter Seven
Getting There
Where We Are
Separating Concerns
Migrating to the New System
Chapter Eight
The First Release
The Proof Is in the Pudding
Retrospective Time
The System as It Stands Now
Operations Interface
Abstract Data Types
Configuration
Testing
Dealing with Deviations and Errors
A Little Prefactoring
The First Released Iteration
Sometimes Practice Does Not Match Theory
The Rest of the Classes
Chapter Nine
Associations and States
Sam's New Requirement
Who's in Charge?
The State of an Object
Chapter Ten
Interfaces and Adaptation
The Catalog Search Use Case
Designing the Interface
Interface Development
Interface Testing
Interface Splitting
Something Working
Chapter Eleven
Zip Codes and Interfaces
Adaptation
Pass the Buck
Unwritten Code
Indirection
Logging
Paradigm Mismatch
Chapter Twelve
More Reports
Fancy Reports
Change Happens
Exports
Chapter Thirteen
Invoices, Credit Cards, and Discounts
The Next Step
The Language of the Client
Security and Privacy
Chapter Fourteen
Sam Is Expanding
The Second Store
A New Development
The Third Store
Goodbye Sam
Generality
Chapter Fifteen
A Printserver Example
Introduction
The System
The Message
Testing
Logging
Still More Separation
Epilogue
Chapter Sixteen
Antispam Example
The Context
Spam Checking
The ReceivingMailServer
ReceivedMailExaminer
The Full Flow
Chapter Seventeen
Epilogue
Appendix A
Guidelines and Principles
Guidelines
Guidelines in Alphabetical Order
Software Design Principles
Appendix B
Source Code
com.samscdrental.configuration Package
com.samscdrental.controller Package
com.samscdrental.dataaccess Package
com.samscdrental.display.adt Package
com.samscdrental.display Package
com.samscdrental.failures Package
com.samscdrental.helper Package
com.samscdrental.importexport Package
com.samscdrental.migration Package
com.samscdrental.model.adt Package
com.samscdrental.model.dto Package
com.samscdrental.model Package
com.samscdrental.reports Package
com.samscdrental.tests Package
Colophon
Return to
Prefactoring