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
Crystal Reports 9 on Oracle (Database Professionals)
Connectivity, Authentication, and Privileges
Oracle Advanced SELECT Options
PL/SQL
Optimizing: The Crystal Reports Side
Appendix A Common Issues
Image Processing with LabVIEW and IMAQ Vision
Charge-Coupled Devices
Camera Interfaces and Protocols
Image Analysis
Pixel Value Analysis
Quantitative Analysis
A Practitioners Guide to Software Test Design
The Testing Process
Case Studies
Pairwise Testing
Control Flow Testing
Data Flow Testing
Service-Oriented Architecture (SOA): Concepts, Technology, and Design
How case studies are used
Web Services and Contemporary SOA (Part I: Activity Management and Composition)
Orchestration
Part IV: Building SOA (Planning and Analysis)
SOA platform basics
Pocket Guide to the National Electrical Code(R), 2005 Edition (8th Edition)
Article 328 Medium-Voltage Cable Type MV
Tables 11(A) and 11(B)
Notes for Tables 11(A) and 11(B)
Notes for Tables 12(A) and 12(B)
Example No. D9 Feeder Ampacity Determination for Generator Field Control
PMP Practice Questions Exam Cram 2
Exam Prep Questions
Answers and Explanations
Exam Prep Questions
Project Execution
Professional Responsibility
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