I recently finished 97 Things Every Programmer Should Know. It's a little dated, but principles stand the test of time, right? I think so. I gave it a shot.
It's a little long (200+ pages for essentially anectdotes), and I'm not quite sure how the authors' intended for readers to consume the book. The chapters are too long for a daily psalm-like reading, but too short for any real analysis or depth. In the end, it felt like a collection of short stories.
Some concepts were really useful. The "Coding With Reason" chapter, for example, was great - short, but loaded with reminders that helped me immediately. "If you need a nested section, make it a function," for example - brilliant. I forced myself to apply this principle for a few days, even when it seemed ridiculous, and I actually found my code was simpler, and fixing bugs, or changing functionality was a breeze.
The "Make Interfaces Easy to
Use Correctly and Hard
to Use Incorrectly" chapter came at the perfect time. I was working on a project where there was conflict over the application's behavior under certain conditions. We found that simply removing features (buttons), was actually a better solution than developing execution paths.
I'll assume an exhaustive report, of every harvested jewel from this dusty classic, is unnecessary. Overall, I give it a 7 (out of 10 whatever's...). There were quite a few "confirmations" and interesting concepts that left me pondering, which is the book's biggest strength. It's not a place for answers to technical questions.
I've made it a personal goal to read at least a book a month, so hopefully these posts will come more often. Feel free to leave a recommendation.