Prefactoring
O'Reilly Media (Verlag)
978-0-596-00874-1 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
More often than not, developers will stop a large project in the middle of the build stage to rethink and recode the software design so it's cleaner and more efficient. Known as "refactoring," this process eats up valuable time and money. To help offset refactoring, this book presents a new process called "prefactoring," the premise of which states that you're better off considering the best possible design patterns before you even begin your project. Prefactoring, in essence, is the art of applying the insights gleaned from previous experience (whether yours or someone else's) when developing software to new projects. Doing so will likely save you from making costly design changes midstream - and maybe even save your job! This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over many years. With these guidelines, you're far more likely to create more readable and maintainable code before you reach the second-guessing stage.
To help communicate the many facets of this process, "Prefactoring" follows the example of a fictitious client, Sam, as he seeks to create a software system from beginning to implementation. Among the topics covered are: General development issues; Implementation classes; Object-oriented design; Creating reports via separation of concerns; Associations and states; and, Creating and testing interfaces. If you understand object-oriented design, and you want to save time and money by considering more efficient designs before you begin your project, "Prefactoring" will show you the way. It won't guarantee that you'll never need to refactor your design or code again, but you're sure to cut down on the amount of refactoring you do.
Ken Pugh has extensive experience in the area of software analysis and design, both as a doer and as a teacher. He's a well-known, frequent conference speaker.
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 Deviations 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 with Text More Than One 6. 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 7. Getting There Where We Are Separating Concerns Migrating to the New System 8. 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 9. Associations and States Sam's New Requirement Who's in Charge? The State of an Object 10. Interfaces and Adaptation The Catalog Search Use Case Designing the Interface Interface Development Interface Testing Interface Splitting Something Working 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 Privacy 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 16. Antispam Example The Context Spam Checking The ReceivingMailServer ReceivedMailExaminer The Full Flow 17. Epilogue a. Guidelines and Principles b. Source Code index
Erscheint lt. Verlag | 11.10.2005 |
---|---|
Reihe/Serie | Theory In Practice |
Zusatzinfo | Illustrations |
Verlagsort | Sebastopol |
Sprache | englisch |
Maße | 178 x 232 mm |
Einbandart | kartoniert |
Themenwelt | Mathematik / Informatik ► Informatik ► Software Entwicklung |
ISBN-10 | 0-596-00874-0 / 0596008740 |
ISBN-13 | 978-0-596-00874-1 / 9780596008741 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich