Johnny's Software Saloon

Weblog where I discuss things that really interest me. Things like Java software development, Ruby, Ruby on Rails, Macintosh software, Cocoa, Eclipse IDE, OOP, content management, XML technologies, CSS and XSLT document styling, artificial intelligence, standard document formats, and cool non-computing technologies.

My Photo
Name:
Location: Germantown, Maryland, United States

I like writing software, listening to music (mostly country and rock but a little of everything), walking around outside, reading (when I have the time), relaxing in front of my TV watching my TiVo, playing with my cat, and riding around in my hybrid gas/electric car.

Sunday, July 23, 2006

A review of "Refactoring: Improving the Design of Existing Code"

by Martin Fowler

Refactoring – the strategies for making disciplined changes to programs – are like mini architectures themselves. They are architectures of strategies of how to get from one design – to another – safely.

Just like design patterns, they have motivating forces, are dependent on context, and many are defined in terms of the nature/terminology of object-oriented programming.

Eclipse and several other very popular IDEs for Java have included a bunch of commands to do some of the very refactorings described in this book.

It is invaluable to read it. Learn both the refactorings themselves – and the spirit for why, when, and where to do them – not just how.

Being able to change software is just as important as being able to design good software in the first place. Nothing of great size created over a long time just comes together perfectly.

Major course adjustments as well as fine-tuning are required from time to time. This book will make you an expert at carrying out those adjustments.

If you are programming in Java and using Eclipse then you really need to read this book to get the most out of your powerful IDE.

One thing that will catch your eye as you look through this book is that a lot of refactorings have exact opposites. That should tell you right there that simply being able to do a refactoring is not enough.

You also need the knowledge/wisdom to know which way you need to go, and if the code you are regarding is in the better state already. No sense changing the same piece of code back and forth forever! Refactor wisely.

0 Comments:

Post a Comment

<< Home

Related pages & news