Adam Petersen - Software Development Pages, Book Reviews Section
Start News Articles Book Reviews

Book Review

Code Complete, Second Edition
by Steve McConnell

ISBN: 0735619670
Publisher: Microsoft Press
Pages: 960


I had this book collecting dust on my shelf for almost a year before I finally read it. The reason is simple: there are a lot of books with topics hotter than the basic construction principles taught in Code Complete. However, hotter doesn’t necessarily mean better; refreshing the overall software skills is well-invested time and Code Complete is a great resource for that task.

McConnell includes material on topics such as requirements engineering and software architecture, but as the title indicates the book focuses on the coding aspect of software development. The knowledge contained in this book sure isn’t groundbreaking, but it is filled with valuable and, partially, timeless construction principles. With a lot of code examples in different languages (e.g. C++, Java, VB) the book goes into great detail on subjects such as common language constructs, basic design principles, data types, style guidelines, debugging, and optimization - it is indeed code complete!

Style matters and this book is an excellent example; the great layout makes it possible to skim the content of a chapter without the risk of missing important facts. Absolutely brilliant!

The book also discusses different approaches to designing high-quality classes and routines. McConnell recommends the usage of the Pseudocode Programming Processes (PPP). I consider the chapter about PPP to be one of the highlights of the book. I personally prefer a test-driven approach and, as McConnell points out, this technique may supplement PPP. My only concern is that PPP tends to generate redundant comments.

Speaking of concerns, I found several points where I do not agree with the author’s advices. With a book containing 900+ pages I guess this is inevitable and, in my opinion, the large quantity of good advises make it up many times over.

For an ambitious beginning programmer this is the ideal book. However, after finally reading the book, I don’t think that it stops there; I believe that most programmers would benefit from reading Code Complete. If for no other reason, then simply for picking up valuable reading tips in the exhaustive reference sections.

Reviewed September 2005


©2005 Adam Petersen adam@adamtornhill.com