Refactoring:Improving the Design of Existing Code

Last book I've finished reading is probably the first one I should have read since I started my software development career: Refactoring is a masterpiece of Martin Fowler with important contributions of Kent Beck and other brilliant architects. In every chapter I asked myself why didn't we study this book in colleague. The book was edited in 2000 but refactoring is not new. I remember arguing with my programming teachers things like, why a method had to have a single end point, things they taught us wrong. As we all know, university is far behind reality and it takes a long time for them to teach new trends so maybe within a decade people will teach refactoring and test driven development in colleague. By the way, here you go a nice article of Joel Spolsky on the Computer Science degree.
Martin Fowler is so far the best writer I've ever read in english. I've learn a lot of english reading his book, it is very expressive and has a nice literary style.
The firsts chapters talk about refactorings that are defined in detail later on so I'd recomend reading the book twice.
Although the book uses Java code, it is perfectly applicable to .Net, and some refactorings let you see some advantages that .Net has over Java, as having object references rather than objects by value.
Some nice sites on refactoring are:

Eladio, I hope you enjoy this book 🙂

  • Néstor

    An incredible book, I have read it too 🙂

    If you are interested in refactoring, perhaps you would like take a look to the new Gendarme Rules. I tried implement the detection of some smells, and it works !

    Happy new year 2008 🙂

  • Carlos Ble

    Hi Nestor!
    Thanks for the Gendarme Rules thing, I´ll have a look at that as I have to work on something related.
    Happy new year mate!

  • Renaldo Sensenbrenner

    Some truly tremendous work on behalf of the owner of this internet site , absolutely outstanding content .