|
Movies Books Music Food Tv Shows Technology Politics Video Games Parenting Fashion Green Living more >

Lunch » Tags » Books » Reviews » Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code

1 rating: 5.0
A book by Martin Fowler

Your class library works, but could it be better?Refactoring: Improving the Design of Existing Codeshows howrefactoringcan make object-oriented code simpler and easier to maintain. Today refactoring requires considerable design know-how, but once tools … see full wiki

Author: Martin Fowler
Genre: Computers & Internet, Nonfiction
Publisher: Addison-Wesley Professional
1 review about Refactoring: Improving the Design of Existing...

Incremental changes can and do make a difference

  • Feb 20, 2000
Rating:
+5
The majority of books describing the development process deal with the design phase. Clearly, this is important, but the latest information is that eighty percent of development time is now spent in the area known as software maintenance. Information concerning how to perform this vital function correctly has been conspicuously deficient. After the publication of this book, that oversight is substantially corrected.
Refactoring is defined as the modification of pre-existing code to improve the performance, and does not directly involve the modification of code to add additional functionality. That aside, improving the efficiency of the code is a valuable goal that is now more attainable.
Given a system that does work, making changes to improve performance is often not a high priority. In the high speed world of software development, making a change that adds only percentage points of improvement in one area does not raise eyebrows, it tends to create frowns. However, like so many other things, this is a very short-sighted view. In my mind, the most significant lesson of the Y2K event is that code tends to live a long time, despite dramatic changes in the hardware. Those simple changes that we do now may not save much time per execution, but iterate that over decades and the return on investment is quite high.
The most significant advantage of the improvements described in this book is that almost all of them can be implemented fairly quickly and can be verified locally, without global recompiles and exhaustive retesting. Therefore, the management decisions that need to be made to carry them out entail much less risk. It is also much easier to allocate resources if it is known with a high degree of certainty that the modification will be completed in a matter of hours rather than days or weeks. This is also consistent with the body of evidence that is overwhelming in favor of a software development cycle with small iterations that can be quickly completed.
No one single refactoring operation listed here will change your application from a tortoise to a hare. However, each one will add a bit more bounce to her step, and if you perform enough of them, you will have either a very fast tortoise or a slow hare. This is a book that should be required reading in all sections that perform software maintenance. If I were in a position of maintaining software, I would create a checklist of refactorings and simply step through that list looking for places to make the changes. There is no doubt that this is one of the best books of the year.

What did you think of this review?

Helpful
2
Thought-Provoking
0
Fun to Read
0
Well-Organized
0
Post a Comment
What's your opinion on Refactoring: Improving the Design of Exi...?
rate
1 rating: +5.0
You have exceeded the maximum length.
Photos
Refactoring: Improving the Design of Existing Code
Related Topics
Coincidences, Chaos, and All That Math Jazz:

A book by Edward B. Burger

The Mathematics of Games And Gambling: Second

A book by Edward Packel

Problems in Euclidean Space: Application of

A book by H. G. Eggleston

First to Review
© 2014 Lunch.com, LLC All Rights Reserved
Lunch.com - Relevant reviews by real people.
()
This is you!
Ranked #
Last login
Member since
reviews
comments
ratings
questions
compliments
lists