or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
49 used & new from £17.99

Have one to sell? Sell yours here
 
   
Refactoring: Improving the Design of Existing Code (Object Technology Series)
 
 

Refactoring: Improving the Design of Existing Code (Object Technology Series) (Hardcover)

by Martin Fowler (Author), Kent Beck (Author), John Brant (Author), William Opdyke (Author), Don Roberts (Author)
4.4 out of 5 stars  See all reviews (21 customer reviews)
RRP: £37.99
Price: £22.76 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £15.23 (40%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.

Want guaranteed delivery by Thursday, February 11? Choose Express delivery at checkout. See Details
36 new from £20.32 13 used from £17.99

Frequently Bought Together

Refactoring: Improving the Design of Existing Code (Object Technology Series) + Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) + The Pragmatic Programmer
Total RRP: £94.97
Price For All Three: £52.95

Show availability and delivery details


Customers Who Bought This Item Also Bought


Product details


Customers Viewing This Page May Be Interested in These Sponsored Links

  (What is this?)
   Refactor C# & VB.NET code opens new browser window
www.jetbrains.com/resharper  -  ReSharper: 35 refactorings for Visual Studio 2005 and 2008
  
 

Product Description

Amazon.co.uk Review

Your class library works, but could it be better? Refactoring: Improving the Design of Existing Code shows how refactoring can make object-oriented code simpler and easier to maintain. Today, refactoring requires considerable design know-how, but once tools become available, all programmers should be able to improve their code using refactoring techniques.

Besides an introduction to what refactoring is, this handbook provides a catalogue of dozens of tips for improving code. The best thing about Refactoring is its remarkably clear presentation, along with excellent nuts-and-bolts advice, from object expert Martin Fowler. The author is also an authority on software patterns and UML, and this experience helps make this a better book, one that should be immediately accessible to any intermediate or advanced object-oriented developer. (Just like patterns, each refactoring tip is presented with a simple name, a "motivation," and examples using Java and UML.)

Early chapters stress the importance of testing in successful refactoring. (When you improve code, you have to test to verify that it still works.) After the discussion on how to detect the "smells" of bad code, readers get to the heart of the book, its catalogue of more than 70 "refactorings"--tips for better and simpler class design. Each tip is illustrated with "before" and "after" code, along with an explanation. Later chapters provide a quick look at refactoring research.

Like software patterns, refactoring may be an idea whose time has come. This groundbreaking title will surely help bring refactoring to the programming mainstream. With its clear advice on a hot new topic, Refactoring is sure to be essential reading for anyone who writes or maintains object- oriented software. --Richard Dragan

Topics Covered: Refactoring, improving software code, redesign, design tips, patterns, unit testing, refactoring research and tools.

Product Description

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

What Do Customers Ultimately Buy After Viewing This Item?

Refactoring: Improving the Design of Existing Code (Object Technology Series)
69% buy the item featured on this page:
Refactoring: Improving the Design of Existing Code (Object Technology Series) 4.4 out of 5 stars (21)
£22.76
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)
9% buy
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) 4.3 out of 5 stars (15)
£13.97
The Pragmatic Programmer
9% buy
The Pragmatic Programmer 4.0 out of 5 stars (22)
£16.22
Code Complete: A Practical Handbook of Software Construction
7% buy
Code Complete: A Practical Handbook of Software Construction 4.1 out of 5 stars (13)
£21.79

 

Customer Reviews

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

 
24 of 26 people found the following review helpful:
5.0 out of 5 stars Stop those annoying grubby code build-ups, 15 Aug 2002
By Mr. M. A. Woodhouse "Mike Woodhouse" (London, UK) - See all my reviews
(REAL NAME)   
I'm probably not alone in finding that, upon opening up source code (even my own), I have an uncontrollable urge to remove duplication, simplify, reduce and generally "improve" things before I can start to see how changes can be made. Then I read this book and discovered that I was refactoring.
Even better, I started to understand that there were a set of well-designed methods to apply, some of which I'd informally discovered for myself (so I wasn't alone after all) and many more that I hadn't thought of. It doesn't hurt that the book is well, and often entertainingly written.
Although some of the content is explicitly targeted at code built in full-blown object-oriented languages (the language used throughout is Java), it doesn't prove to be a hindrance to VB programmers like myself.
This book may fall slightly behind "Code Complete" in my list. Which would only make it the second best development book I've ever read (but it's the first one I felt like posting a review on).
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
18 of 20 people found the following review helpful:
5.0 out of 5 stars A MUST Read for Every OO Developer !!! (but the book is now a bit dated... see my comment to this review), 21 Dec 2000
By Jakob Jenkov "jjenkov" (Copenhagen) - See all my reviews
(REAL NAME)   
This book is simply great !! It's definately the most useful book I've read since "Design Patterns".


It has an easily read and also sometimes quite amusing text, UML diagrams when necessary, and of course, VERY GOOD CONTENT !!! In short Refactoring is about turning badly designed and written code into well designed and written code, without breaking the program. If you liked read "Design Patterns" (Gamma et al.) you love this one as well. It's structured in much the same way.

The content covers

* WHY + WHEN to refactor
* HOW + WHAT to refactor
* A very good chapter on unit testing with JUnit (Open Source, by Eric Gamma (Design Patterns) and Kent Beck (Extreme Programming) )
* A thorough catalogue of different refactorings you can do to improve the design and readability of your code.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
12 of 14 people found the following review helpful:
5.0 out of 5 stars Required Reading, 29 Jun 2006
By C. Jack "colinjack" (Edinburgh) - See all my reviews
(REAL NAME)   
I'd advise people to ignore the negative reviews for the following reasons:

1) People now talk about specific refactorings so, like design patterns, you need to know the names.
2) It was never supposed to teach you good design. If you want to learn that there are good books out there (including by Craig Larman and Robert C. Martin).
3) Some of it is basic but you can ignore that stuff if you want to, and when your doing some of the more complicated refactorings they could well be useful.
4) As Martin Fowler points out you don't need to read it cover to cover, in fact he advises you use it as a reference.


What this does teach you is how to iteratively improve bad code, something every developer needs to be able to do. In any case its valuable to read about the code smells, the reasons for needing to do specific refactorings and to read the examples.

Also if you want more advanced concepts I'd recommend "Agile Software Development" by Robert C. Martin and "Refactoring to Patterns" by Joshua Kerievsky which both build on this work.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No

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

5.0 out of 5 stars Who cares if you "knew this already" ?!!
Great ideas in software are often met with the "if you've been around as long as me, then you know this stuff already" line. WHO CARES?!! Read more
Published 2 months ago by KH

5.0 out of 5 stars Proceduralist Converted
As someone from a procedural background, i've read books on OOP and tried to embrase it into my work but never really saw the point. Read more
Published 7 months ago by Richard P. Creek

2.0 out of 5 stars If you've been around for a while, very little of this will be new to you.
If you have been around for a while, the reality is that most of this book, you will (or at least should) know already. Read more
Published 10 months ago by Mike Stevenson

5.0 out of 5 stars It's always obvious in retrospect
When I first read this book it described a whole lot of practices that I'd been following for years, I just hadn't call it refactoring. Read more
Published 14 months ago by Ian Chamberlain

1.0 out of 5 stars Who is this book aimed at ?
The best thing I can say about this book is it uses nice paper and looks good on the book shelf.

I have no idea who this book is aimed at ! Read more
Published on 21 May 2006 by purpleblob

3.0 out of 5 stars Not sure whether it's worth it
Big fan of Martin Fowler books, but this one looks a bit dated now. A lot of the content is common sense and whilst it's not to say that everyone out there is doing it (we all... Read more
Published on 2 April 2006 by Mr. M. J. Small

2.0 out of 5 stars A catalogue of obvious ideas
I was disappointed with this book, especially given its previous reviews here. After reading a good technical book I like to feel that I've learned something that... Read more
Published on 14 Dec 2005 by James Oldfield

5.0 out of 5 stars Read, Refactor And Ye Shall Reap The Rewards !!!
This book covers a very important topic that every OO developer should be using. I just couldn't put this book down. Read more
Published on 19 July 2004 by L. Miles

5.0 out of 5 stars Good for every programmer
Although the examples are written in java, the content transcends that. Good for Python, Smalltalk, you name it
Published on 20 Feb 2002

4.0 out of 5 stars If you don't already refactor then start now.
As a professional software developer I refactor my software all the time. I cannot help doing it. I used to think that it was a weakness I had, that before adding a new bit of... Read more
Published on 29 Oct 2001 by paul.sweeny@bigfoot.com

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

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

   


Listmania!


Look for similar items by category


Look for similar items by subject


Feedback


Your Recent History

 (What's this?)

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