97 Things Every Programmer Should Know, edited by Kevin Henney, pub by O’Reilly, ISBN 0596809484.
This is another great book in O’Reilly’s “97 Things Every <fill in the blank> Should Know” series, and it’s every bit as good as the others. The book follows the same highly successful format of creating a book full of two-page articles taken from submissions to a public wiki. Each article is concise, highly pertinent to our profession, and well-written.
The articles are grouped in broad categories such as Bugs and Fixes, Design Principles and Coding Techniques, Refactoring, and Tests/Testing/Testers. There’s a couple great sections on softer skills such as learning/continuing education and customer interaction. I was really impressed that the testing section was so long with such great content in it.
Nearly every article in the book was highly useful to me, but a couple highlights would have to include:
- Bob Martin’s The Boy Scout Rule on leaving code better than you found it
- Steve Smith’s Don’t Repeat Yourself on keeping duplication out of your design and code
- Jon Jagger’s Do Lots of Deliberate Practice on how to improve your skills
- Paul Homer’s Simplicity Comes from Reduction on the power of deleting code
This book’s nicely balanced between highly technical concepts (avoiding Singleton patterns, code metrics) and more general topics (education, scheduling). It’s a great addition to your bookshelf.