Flylib.com
Refactoring Workbook
Refactoring Workbook
ISBN: 0321109295
EAN: 2147483647
Year: 2003
Pages: 146
Authors:
William C. Wake
BUY ON AMAZON
Main Page
Table of content
Copyright
Preface
What Is Refactoring?
What Are the Goals of This Book?
Who Is This Book For?
What Background Do You Need?
How to Use This Book
Can I Contact the Author?
Acknowledgments
Chapter 1. Roadmap
Overview
Section 1: Smells within Classes
Section 2: Smells between Classes
Section 3: Programs to Refactor
A Word on the Challenges
Section 1: Smells Within Classes
Chapter 2. The Refactoring Cycle
What Is Refactoring?
Smells Are Problems
The Refactoring Cycle
When Are We Done?
Inside a Refactoring
Challenges
Conclusion
Chapter 3. Measured Smells
Smells Covered
Comments
Long Method
Large Class
Long Parameter List
More Challenges
Conclusion
Interlude 1. Smells and Refactorings
Chapter 4. Names
Smells Covered
Type Embedded in Name (Including Hungarian)
Uncommunicative Name
Inconsistent Names
Chapter 5. Unnecessary Complexity
Smells Covered
Dead Code
Speculative Generality
Interlude 2. Inverses
Chapter 6. Duplication
Smells Covered
Magic Number
Duplicated Code
Alternative Classes with Different Interfaces
Challenges
Chapter 7. Conditional Logic
Smells Covered
Null Check
Complicated Boolean Expression
Special Case
Simulated Inheritance (Switch Statement)
Interlude 3. Design Patterns
Section 2: Smells Between Classes
Chapter 8. Data
Smells Covered
Primitive Obsession
Data Class
Data Clump
Temporary Field
Chapter 9. Inheritance
Smells Covered
Refused Bequest
Inappropriate Intimacy (Subclass Form)
Lazy Class
Chapter 10. Responsibility
Smells Covered
Feature Envy
Inappropriate Intimacy (General Form)
Message Chains
Middle Man
Challenges
Chapter 11. Accommodating Change
Smells Covered
Divergent Change
Shotgun Surgery
Parallel Inheritance Hierarchies
Combinatorial Explosion
Chapter 12. Library Classes
Smells Covered
Incomplete Library Class
Challenges
Interlude 4. Gen-A-Refactoring
Section 3: Programs to Refactor
Chapter 13. A Database Example
Course.java (Online at www.xp123.comrwb )
Offering.java
Schedule.java
Report.java
TestSchedule.java
TestReport.java
Chapter 14. A Simple Game
Development Episodes
Chapter 15. Catalog
Introduction
Path 1: Catalog.itemsMatching(query)
Path 2: Query.matchesIn(catalog)
Path 3: Process(catalog.data, query.data)
Conclusion
Chapter 16. Planning Game Simulator
Part 1 : Original Code
Part 2 : Redistributing Features
Removing Duplication, Selection Troubles, and a Few Burrs
Part 3 : Pushing the Code Further
Chapter 17. Where to Go from Here
Books
Admonitions
Exercises to Try
Web Sites
Section 4: Appendixes
Appendix A. Answers to Selected Questions
Chapter 2 . The Refactoring Cycle
Chapter 3 . Measured Smells
Interlude 1 . Smells and Refactorings
Chapter 4 . Names
Chapter 5 . Unnecessary Complexity
Chapter 6 . Duplication
Chapter 7 . Conditional Logic
Interlude 3 . Design Patterns
Chapter 8 . Data
Chapter 9 . Inheritance
Chapter 10 . Responsibility
Chapter 11 . Accommodating Change
Chapter 12 . Library Classes
Interlude 4 . Gen-A-Refactoring
Chapter 13 . A Database Example
Chapter 14 . A Simple Game
Chapter 15 . Catalog
Chapter 16 . Planning Game
Appendix B. Java Refactoring Tools
Appendix C. Inverses for Refactorings
Appendix D. Key Refactorings
Change Bidirectional Association to Unidirectional
Duplicate Observed Data
Extract Class
Extract Method
Move Field
Move Method
Replace Type Code with StateStrategy
Bibliography
Refactoring Workbook
ISBN: 0321109295
EAN: 2147483647
Year: 2003
Pages: 146
Authors:
William C. Wake
BUY ON AMAZON
Metrics and Models in Software Quality Engineering (2nd Edition)
Process Maturity Framework and Quality Standards
Examples of Metrics Programs
Pareto Diagram
The Exponential Model
Metrics and Lessons Learned for Object-Oriented Projects
Java for RPG Programmers, 2nd Edition
Arrays And Vectors
String Manipulation
More Java
Appendix B Mixing RPG And Java
Appendix C Obtaining The Code Samples
Excel Scientific and Engineering Cookbook (Cookbooks (OReilly))
Selecting More Than a Single Cell
Annotating Charts
Rounding and Truncating Numbers
Using Excel for Traditional Linear Programming
Getting More Realistic Results with Integer Constraints
Google Maps Hacks: Tips & Tools for Geographic Searching and Remixing
Hack 10. Add a Google Map to Your Web Site
Hack 23. Find a Place to Live
Hack 34. Publish Your Own Hiking Trail Maps
Hack 51. Make a Fullscreen Map the Right Way
Hack 58. Find the Right Zoom Level
Java All-In-One Desk Reference For Dummies
Installing and Using Java Tools
Using Eclipse
Making Your Own Classes
Packaging and Documenting Your Classes
Creating Servlets
Python Standard Library (Nutshell Handbooks) with
The stat Module
The StringIO Module
The crypt Module
The imaplib Module
The telnetlib Module
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