Thursday, May 11, 2017

97 Things Every Programmer Should Know

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.

No comments:

Post a Comment