Flylib.com
Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability
Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability
ISBN: 0596008740
EAN: 2147483647
Year: 2005
Pages: 175
Authors:
Ken Pugh
BUY ON AMAZON
Prefactoring
Table of Contents
Copyright
Dedication
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
Chapter One. Introduction to Prefactoring
1.1. What Is Prefactoring?
1.2. The Three Extremes
1.3. The Guidelines Explored
1.4. The Context for This Book
Chapter Two. The System in So Many Words
2.1. Meet Sam
2.2. Reinvention Avoidance
2.3. What s in a Name?
2.4. Splitters Versus Lumpers
2.5. Clumping
2.6. Abstracting
2.7. Prototypes Are Worth a Thousand Words
Chapter Three. General Development Issues
3.1. Start with the Big Picture
3.2. Interface Contracts
3.3. Validation
3.4. Code Communicates
3.5. Consistency Is Simplicity
3.6. A Prefactoring Attitude
3.7. Don t Repeat Yourself
3.8. Documentation of Assumptions and Decisions
3.9. Dealing with Deviations and Errors
3.10. Speeding
3.11. The Spreadsheet Conundrum
3.12. Tools Are Tools-Use Them Wisely
Chapter Four. Getting the Big Picture
4.1. The Rest of the Story
4.2. Process
4.3. The Initial Design
4.4. Global Planning, Local Designing
4.5. Testing Functionality
4.6. Testing Quality
4.7. Security
Chapter Five. Got Class?
5.1. Categories and Classes
5.2. Declaration Versus Execution
5.3. Appropriate Inheritance
5.4. Communicate with Text
5.5. More Than One
Chapter Six. A Few Words on Classes
6.1. Honor the Class Maxims
6.2. Three Laws of Objects
6.3. Need Determines Class
6.4. Polymorphism
6.5. One Little Job
6.6. Policy Versus Implementation
6.7. Extreme Naming
6.8. Overloading Functions
Chapter Seven. Getting There
7.1. Where We Are
7.2. Separating Concerns
7.3. Migrating to the New System
Chapter Eight. The First Release
8.1. The Proof Is in the Pudding
8.2. Retrospective Time
8.3. The System as It Stands Now
8.4. Operations Interface
8.5. Abstract Data Types
8.6. Configuration
8.7. Testing
8.8. Dealing with Deviations and Errors
8.9. A Little Prefactoring
8.10. The First Released Iteration
8.11. Sometimes Practice Does Not Match Theory
8.12. The Rest of the Classes
Chapter Nine. Associations and States
9.1. Sam s New Requirement
9.2. Who s in Charge?
9.3. The State of an Object
Chapter Ten. Interfaces and Adaptation
10.1. The Catalog Search Use Case
10.2. Designing the Interface
10.3. Interface Development
10.4. Interface Testing
10.5. Interface Splitting
10.6. Something Working
Chapter Eleven. Zip Codes and Interfaces
11.1. Adaptation
11.2. Pass the Buck
11.3. Unwritten Code
11.4. Indirection
11.5. Logging
11.6. Paradigm Mismatch
Chapter Twelve. More Reports
12.1. Fancy Reports
12.2. Change Happens
12.3. Exports
Chapter Thirteen. Invoices, Credit Cards, and Discounts
13.1. The Next Step
13.2. The Language of the Client
13.3. Security and Privacy
Chapter Fourteen. Sam Is Expanding
14.1. The Second Store
14.2. A New Development
14.3. The Third Store
14.4. Goodbye Sam
14.5. Generality
Chapter Fifteen. A Printserver Example
15.1. Introduction
15.2. The System
15.3. The Message
15.4. Testing
15.5. Logging
15.6. Still More Separation
15.7. Epilogue
Chapter Sixteen. Antispam Example
16.1. The Context
16.2. Spam Checking
16.3. The ReceivingMailServer
16.4. ReceivedMailExaminer
16.5. The Full Flow
Chapter Seventeen. Epilogue
Appendix A. Guidelines and Principles
A.1. Guidelines
A.2. Guidelines in Alphabetical Order
A.3. Software Design Principles
Appendix B. Source Code
B.1. com.samscdrental.configuration Package
B.2. com.samscdrental.controller Package
B.3. com.samscdrental.dataaccess Package
B.4. com.samscdrental.display.adt Package
B.5. com.samscdrental.display Package
B.6. com.samscdrental.failures Package
B.7. com.samscdrental.helper Package
B.8. com.samscdrental.importexport Package
B.9. com.samscdrental.migration Package
B.10. com.samscdrental.model.adt Package
B.11. com.samscdrental.model.dto Package
B.12. com.samscdrental.model Package
B.13. com.samscdrental.reports Package
B.14. com.samscdrental.tests Package
Colophon
About the Author
Colophon
Index
index_A
index_B
index_C
index_D
index_E
index_F
index_G
index_H
index_I
index_J
index_L
index_M
index_N
index_O
index_P
index_Q
index_R
index_S
index_T
index_U
index_V
index_W
index_Z
Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability
ISBN: 0596008740
EAN: 2147483647
Year: 2005
Pages: 175
Authors:
Ken Pugh
BUY ON AMAZON
CISSP Exam Cram 2
We Want to Hear from You!
Taking a Certification Exam
Risk Assessment
Answers to Exam Prep Questions
Computer Crimes
SQL Tips & Techniques (Miscellaneous)
Understanding SQL Transactions and Transaction Logs
Working with Comparison Predicates and Grouped Queries
Writing Advanced Queries and Subqueries
Exploiting MS-SQL Server Built-in Stored Procedures
Working with SQL Database Data Across the Internet
Professional Java Native Interfaces with SWT/JFace (Programmer to Programmer)
Combos and Lists
Text Controls
Menus, Toolbars, Cool, Bars, and Actions
JFace Windows and Dialogs
Creating a Text Editor with JFace Text
Visual C# 2005 How to Program (2nd Edition)
Summary
Wrap-Up
Wrap-Up
W3C XML Schema Documents
(Optional) Extensible Stylesheet Language and XSL Transformations
Google Maps Hacks: Tips & Tools for Geographic Searching and Remixing
Hack 15. Map a Slideshow of Your Travels
Hack 18. Examine Patterns of Criminal Activity
Hack 35. Load Driving Directions into Your GPS
Hack 38. Map Your Wardriving Expeditions
Hack 52. Put a Map and HTML into Your Info Windows
GDI+ Programming with C#
Transformation with Brushes
Your First Graphics Web Application
Drawing Images on the Web
Miscellaneous GDI+ Examples
Designing Interactive GUI Applications
flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net
Privacy policy
This website uses cookies. Click
here
to find out more.
Accept cookies