Code Complete by Steve McConnell
My rating: 5 of 5 stars
This book provides a solid foundation of the things you need to “construct software”, as the author describes it, and covers a very broad topic.
The author isn't shy about referring the reader to additional reading materials; in fact, that’s a big part of the book and I love it!
The book goes over things that were barely mentioned, if at all, in my college courses. Things like: debugging, refactoring, measuring code complexity, when the right time to optimize code is and whether it even makes sense to optimize it. The author does a good job of showing different approaches to solving problems and gives many examples of “good” versus “bad” practices.
On the surface this book is similar to The Pragmatic Programmer, but goes in to a lot more depth. The book goes well with Clean Code.
View all my reviews
Sunday, December 4, 2011
Subscribe to:
Post Comments (Atom)
I'm curious about a number of stars. Also, if you had to rank the three books, how would you rank them? How would you rank them for a new developer? How about an experienced developer?
ReplyDeleteI started using www.goodreads.com to keep a list of books that I want to read. Eventually I started posting reviews, because when you mark a book as read, you get a popup that urges you to post a review (damn that peer pressure!). Once you've posted to goodreads you get a nicely formatted html output that you can copy / paste in a blog.
ReplyDeleteThe way I use the star rating is:
1. it sucked
2. it was OK
3. i liked it
4. loved it
5. (one of) best books I've read on the topic
If I was only going to read one of the 3 books I mentioned in my post, I'd read Code Complete. I think Steve McConell offers very practical, and mostly unbiased, advice on how to write software well. I felt like TPP was too vague and Clean Code too opinionated. Don't get me wrong, I think all 3 books were good and I enjoyed reading them...but you asked for a comparison.
As far as the new vs experienced dev, that's a tough question. Does experienced dev imply that they are experienced because they follow what are considered "good" practices and they've been coding for years or that they've been coding for years and are therefore "experienced"? I'm going to assume the latter.
If the plan was to read all three I would do it this way:
junior dev: Code Complete, TPP, Clean Code
old-hand dev: Clean Code, TPP, Code Complete
If the old-hand is familiar with good practices I'd consider Code Complete optional.
That being said, I plan to re-read all three of them in this order:
TPP, Clean Code, Code Complete.
I just realized, that's the order I read them in originally ;)
Good stuff, thanks for taking the time.
ReplyDeleteAs far as the star thing, my question was more about how you'd rate Code Complete, which you didn't assign a star value to.
I updated my post with a star rating.
ReplyDelete