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
Similar book on Amazon
Oracle SQL*Plus: The Definitive Guide (Definitive Guides)
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration (Net Objectives Lean-Agile Series)
Clean Code: A Handbook of Agile Software Craftsmanship
Agile Testing: A Practical Guide for Testers and Agile Teams
The CISSP and CAP Prep Guide: Platinum Edition
Beginners Guide to DarkBASIC Game Programming (Premier Press Game Development)
Looping Commands
More Power to the Numbers Data Sequences and Arrays
Number Crunching Mathematical and Relational Operators and Commands
Game Graphics Learning to Use Bitmaps
Multiplayer Programming The Crazy Carnage Game
CISSP Exam Cram 2
TELECOMMUNICATIONS AND NETWORK SECURITY
The CISSP Certification Exam
Answers to Exam Prep Questions
Operations Security
Answers to Exam Prep Questions
Software Configuration Management
Project Management in a CM Environment
Appendix E Test Plan
Appendix J Document Change Request (DCR)
Appendix M Problem Report (PR)
Appendix X SCM Guidance for Achieving the Repeatable Level on the Software
A+ Fast Pass
Domain 1 Installation, Configuration, and Upgrading
Domain 2 Diagnosing and Troubleshooting
Domain 4 Motherboard/Processors/Memory
Domain 6 Basic Networking
Domain 1 Operating System Fundamentals
WebLogic: The Definitive Guide
Understanding Proxies
Assembling and Deploying Resource Adapters
Managing WebLogics EJB Container
Application Deployment
Designing a Domain
Cisco Voice Gateways and Gatekeepers
H.323
Description of SIP
Voice Translation Rules and Profiles
Review Questions
Case Study: Deploying Gatekeepers to Assist in Migration to VoIP
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