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 🙂