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
Absolute Beginner[ap]s Guide to Project Management
One Title, Many Roles
Management Fundamentals for Project Control
Typical Problems
Best Practices of Effective Project Communicators
Ten Key Principles
VBScript Programmers Reference
Remote Scripting
Appendix F The Scripting Runtime Library Object Reference
Appendix G The Windows Script Host Object Model
Appendix H Regular Expressions
Appendix K The Variant Subtypes
Professional Java Native Interfaces with SWT/JFace (Programmer to Programmer)
Text Controls
Menus, Toolbars, Cool, Bars, and Actions
Trees
Printing
Programming OLE in Windows
FileMaker Pro 8: The Missing Manual
Reports and Summary Fields
Connecting Databases
Auto-Enter Calculations
Working with Files
File Maintenance
Microsoft Windows Server 2003(c) TCP/IP Protocols and Services (c) Technical Reference
Local Area Network (LAN) Technologies
Wide Area Network (WAN) Technologies
Internet Protocol (IP) Basics
Transmission Control Protocol (TCP) Basics
Virtual Private Networks (VPNs)
Lean Six Sigma for Service : How to Use Lean Speed and Six Sigma Quality to Improve Services and Transactions
The Value in Conquering Complexity
Success Story #4 Stanford Hospital and Clinics At the forefront of the quality revolution
Phase 2 Engagement (Creating Pull)
Using DMAIC to Improve Service Processes
Raising the Stakes in Service Process Improvement
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