I’ve just finished reading this book a few weekends ago:
I already had high hopes on it, and I felt sure I was about to read a good book when I saw the introduction starting off with this image (originally published here):
Despite being funny, the image actually pretty much describes reality.
I was glad to see that I am already following many of the recommendations described in this book. There are things I have to work on, though, and I’ll make sure a put serious consideration into it.
There’s just one thing I strongly disagree with the author: when talking about replacing magic numbers with named constants, the author says "…the number 5280 is so very well known and so unique a constant that readers would recognize it even if it stood alone on a page with no context surrounding it.". I don’t agree with that at all. Maybe any reader who uses the Imperial measurement system would recognize it; people like myself, who use the Metric system, aren’t likely to recognize that at all!!
With so much development work being outsourced to people from all over the World, developers should put a little more thought into writing code that’s clear to a broader range of developers. Granted, that’s not an easy task, but it sure is on cases like the "magical number 5280" (that’s the number of feet per mile, by the way).
Other than that, great book, that should be read by every serious developer.