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
MySQL Stored Procedure Programming
Variables
Parameters
Stored Functions
Triggers
Basic SQL Tuning
OpenSSH: A Survival Guide for Secure Shell Handling (Version 1.0)
Step 1.2 Install SSH Windows Clients to Access Remote Machines Securely
Step 3.4 Use PuTTYs Tools to Transfer Files from the Windows Command Line
Step 4.6 How to use PuTTY Passphrase Agents
Step 6.2 Using Port Forwarding Within PuTTY to Read Your E-mail Securely
Appendix - Sample sshd_config File
MySQL Clustering
Adding Tables
Restoring a Backup
Cluster Topographies
Displaying the Status of the Cluster/Controlling Nodes
C Glossary of Cluster Terminology
MySQL Cookbook
Writing an Object-Oriented MySQL Interface for PHP
Choosing Appropriate LIMIT Values
Determining the Current Date or Time
Sorting Dotted-Quad IP Values in Numeric Order
Specifying the Datafile Location
Ruby Cookbook (Cookbooks (OReilly))
Processing a String One Word at a Time
Matching Strings with Regular Expressions
Transforming Plain Text to HTML
Pinging a Machine
Parsing Command-Line Arguments
Python Standard Library (Nutshell Handbooks) with
The repr Module
The formatter Module
The select Module
Overview
The shelve 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