Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
29 used & new from $17.98

Have one to sell? Sell yours here
 
   
Refactoring Workbook (Addison-Wesley Object Technology Series)
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Refactoring Workbook (Addison-Wesley Object Technology Series) (Paperback)

by William C. Wake (Author) "This book is divided into three sections..." (more)
Key Phrases: expose duplication, refactoring cycle, speculative generality, Extract Method, Move Method, Extract Class (more...)
4.5 out of 5 stars See all reviews (6 customer reviews)

List Price: $39.99
Price: $31.19 & this item ships for FREE with Super Saver Shipping. Details
You Save: $8.80 (22%)
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Wednesday, July 15? Choose One-Day Shipping at checkout. Details
15 new from $27.13 14 used from $17.98

Frequently Bought Together

Refactoring Workbook (Addison-Wesley Object Technology Series) + Refactoring: Improving the Design of Existing Code (Addison-Wesley Object Technology Series) + Code Complete: A Practical Handbook of Software Construction
Price For All Three: $110.67

Show availability and shipping details


Customers Who Bought This Item Also Bought

Refactoring to Patterns (Addison-Wesley Signature Series)

Refactoring to Patterns (Addison-Wesley Signature Series)

by Joshua Kerievsky
4.1 out of 5 stars (44)  $53.19
Code Complete: A Practical Handbook of Software Construction

Code Complete: A Practical Handbook of Software Construction

by Steve McConnell
4.8 out of 5 stars (107)  $31.49
Working Effectively with Legacy Code (Robert C. Martin Series)

Working Effectively with Legacy Code (Robert C. Martin Series)

by Michael Feathers
4.9 out of 5 stars (28)  $49.29
Head First Design Patterns

Head First Design Patterns

by Elisabeth Freeman
4.6 out of 5 stars (275)  $29.67
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

by Robert C. Martin
4.4 out of 5 stars (40)  $39.66
Explore similar items

Editorial Reviews

Product Description
Refactoring has gained widespread acceptance in the software engineering community as a proven means of improving software. Martin Fowler's seminal book on this topic, Refactoring, 0201485672, has been used in the classroom to explain that existing code could be improved and enhanced without significantly altering the fundamental structure of an application. But many find that this concept has a steep learning curve that inhibits its use. In this new book, William Wake offers a more introductory look at this important topic. The author outlines a proven workbook approach to learning and applying refactoring to "everyday" projects. This approach relies on examples that force the student to apply the main concepts of refactoring. As a result, readers gain thorough knowledge of how refactoring can help improve their software.

From the Back Cover

As a programmer, you need to be able to recognize and improve problematic code, so the program remains in a working state throughout the software lifecycle. Refactoring-the art of improving the design of existing code safely-provides an efficient, reliable system for bringing order to the chaos, and one that keeps the surprises to a minimum! Refactoring can be difficult to learn, but Refactoring Workbook, by consultant William C. Wake, presents the material in a easy-learning format that makes learning enjoyable and effective.

For many, the obstacle to learning refactoring is in identifying the "smells"—the potential problem areas-found in code. Instead of having you read about the smells, Refactoring Workbook makes sure you understand them. You'll solve a carefully assembled series of problems, and you'll find yourself learning at a deeper level and arriving at a few insights of your own. Wake uses the workbook method—a learning-focused approach that forces you to apply the techniques presented in the book-in the rest of the book. This approach helps you learn and apply the most important refactoring techniques to your code and, as a side benefit, helps you to think more about creating great code even when you're not refactoring.

Refactoring Workbook provides user-friendly references such as:

  • A handy, quick-reference "smell finder"
  • A standard format for describing smells
  • Appendices showing key refactorings
  • A listing of Java™ tools that support refactoring

This book is intended for programmers with a knowledge of Java, though a C# or C++ programmer with a basic understanding of Java would also be able to follow and learn from the examples. It can be used as a companion to Martin Fowler's Refactoring (also from Addison-Wesley Professional), which provides step-by-step instructions for many refactorings.



See all Editorial Reviews

Product Details

  • Paperback: 224 pages
  • Publisher: Addison-Wesley Professional (September 6, 2003)
  • Language: English
  • ISBN-10: 0321109295
  • ISBN-13: 978-0321109293
  • Product Dimensions: 9.1 x 7.4 x 0.7 inches
  • Shipping Weight: 1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars See all reviews (6 customer reviews)
  • Amazon.com Sales Rank: #700,376 in Books (See Bestsellers in Books)

Inside This Book (learn more)



Books on Related Topics (learn more)
 
 


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

6 Reviews
5 star:
 (3)
4 star:
 (3)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.5 out of 5 stars (6 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
13 of 13 people found the following review helpful:
4.0 out of 5 stars Good exercises in refactoring, May 20, 2004
By Charles Ashbacher "(cashbacher@yahoo.com)" (Marion, Iowa United States(cashbacher@yahoo.com)) - See all my reviews
(TOP 50 REVIEWER)      
Refactoring is the process of recognizing and correcting problems in code that is functional. Since the code is working correctly, refactoring is something that is generally done late in the development cycle or perhaps not until the code has entered the maintenance phase. However, refactoring has proven to be so valuable that most recent books on software engineering spend some time describing what it is.
Performing a refactoring starts with identifying a "code smell", a segment or feature of the code that just feels awkward or unusual. This is not as hard as it may appear, many of the most common "smells" have been cataloged and the solutions identified. For example, the first "smells" covered in this book are:

* Obscure or overly descriptive comments.
* Overly long methods.
* Overly large classes.
* Overly long parameter lists to methods.

and all examples are coded in Java. Programming veterans will recognize most of these problems as old and venerated programming difficulties. With the exception of large classes, they have been part of the list of bad programming habits for decades. However, the solutions require a bit of thought, it is conceptually simple to make comments, variable names and method names more descriptive, but of course there are reasonable bounds that reasonable people can disagree on. There are only rules of thumb available to guide us, and Wake sets down his thoughts on this matter.
The real difficult problems in this list, and where this book is the biggest help in this section, is in demonstrating how to make methods and classes shorter. To factor out just the right amount of code and still maintain the same level of understandability can be a difficult judgement call. Programmers learn best by seeing worked examples, so the sequence of presentation is:

* Symptoms.
* Causes.
* What to do?
* Payoff.
* Discussion.
* Contraindications.

Coding veterans will most likely find the "contraindications" section of the exercises the most helpful. It describes reasons why performing the refactoring may not be the best decision.
The second set of refactoring exercises are:

* Unnecessary complexity.
* Duplication.
* Conditional logic.

This set of refactorings will also be familiar to coding veterans. Removing dead code, eliminating duplicate code, deleting magic numbers and using more efficient Boolean operations have been on the list of good programming habits for decades. Therefore, the refactorings in this section are fairly routine, as they do not require an object-oriented example to demonstrate them.
The most valuable section of the book is the second one, where the coverage is smells between classes, which are as follows:

* Data.
* Inheritance.
* Responsibility.
* Accommodating change.
* Library classes.

Most modern programmers will be familiar with the first section and will have already done many of them as part of their general coding practices. However, the "smells" in the second list are those that always seem to creep undetected into large programs. Therefore, they are harder to identify and often even harder to remove. I found the segment on problems in library classes to be the most valuable one of the entire book. I often use library classes in Java and there have been times when I have looked at a library class and been puzzled by how it is constructed.
The book closes with four small programs that are to be refactored as exercises. Large and complex enough to be worthwhile exercises, they are an excellent conclusion to a helpful book. Many problems are included and solutions to almost all are found in an appendix.
While this book is a good way to practice refactoring, it is not a good way to learn it. The classic book by Martin Fowler is still the best introduction to refactoring.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
8 of 8 people found the following review helpful:
4.0 out of 5 stars An ideal companion to Martin Fowler Refactoring book, December 11, 2003
By Foti Massimo (Vezia (Switzerland)) - See all my reviews
(REAL NAME)   
An ideal companion to Martin Fowler's Refactoring book. Wake delivers a more practical oriented book, with a generous amount of relevant examples and code listings. Compared to Fowler's seminal title this one, due to its "workbook" nature, is much more Java-centric, making it harder to translate certain concepts to different languages and environments. In my opinion a very interesting and informative book, somewhat affected by a confused typographical layout not very well suited to its content. Just remember to read Fowler's book first!
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
1 of 1 people found the following review helpful:
5.0 out of 5 stars Improving code is key to building a quality enterprise, June 23, 2006
By Lloyd Jeffries (Dallas, TX) - See all my reviews
Learning to make what you already have better WITHOUT negatively impacting the enterprise or rewriting what you already have is a key skill that this book teaches and preaches. Understanding what it means to successfully refactor something is well worth the effort, especially if you are interested in getting into the world of service oriented architecture.

Services can be refactored after they are deployed because they can maintain a consistent external interface or contract that others form dependencies to. THis allows us to apply the concepts and techniques described in this book in order to build not only increasingly robust code but also increasingly valuable code in the form of reusable services.

The author does a good job of organising the content and explaining the application through examples. This book is helping my team with a specific project that requires us to revisit but no rewrite a collection of existing components.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

4.0 out of 5 stars Makes Refactoring Real
This book proved to be an excellent learning tool during a refactoring session at my eXtreme Programming Users Group meeting. Read more
Published on May 19, 2004 by Christopher Gardner

5.0 out of 5 stars Required reading to get effective at refactoring
The concrete identification of smells, working examples, and straighforward but useful exercises make this book a must-have to really understand how to refactor your code -- even... Read more
Published on December 21, 2003 by Lars Bergstrom

5.0 out of 5 stars Made me a better programmer
Most books about programming teach us about a specific technology or two. Right now I'm staring at some great books on my shelf that have taught me things like user interface... Read more
Published on October 5, 2003 by Michael Cohn

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
  Discussion Replies Latest Post
Does anyone use Discovering Geometry: An Investigative Approach? 4 11 hours ago
Textbooks for Kindle DX? 38 13 hours ago
   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Work and Roll with DEWALT

DEWALT Job Site Radio
While supplies last, enjoy special pricing on the DEWALT work site radio. Power it and you'll be rockin' and chargin' your way through a hard day of work.

Shop more chargers and radios

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Summer Reading for Kids & Teens

Summer Reading for Kids and Teens
Discover everything from beach reads and board books to teen romance and action-adventure series in Summer Reading for Kids & Teens. And, check off the kids' required reading lists in our Summer School Reading Store.
 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates