This site will look much better in a browser that supports web standards, but is accessible to any browser or Internet device.

Anomaly ~ G. Wade Johnson Anomaly Home G. Wade Home

February 27, 2005

Review of Code Complete, Second Edition

Code Complete
Steve McConnell
Microsoft Press, 2004

Ever since I learned that a new edition of Code Complete was to be released, I have been looking forward to it. The first edition has been one of the most comprehensive books on the actual practice of writing code. We see a large number of books on methodologies and the high-level aspects of software development. But, if there is to be any software at all, someone must write it. This book covers that part of the process.

The second edition manages to update the information from the first edition to present practice. Many practices have emerged in the ten years since the first edition, and McConnell covers them extensively. Unlike a lot of books in our field that are filled with opinion and generalities, McConnell backs up what he says with hard numbers where possible and loads of research in any case. If you are looking for an authoritative reference, the bibliography of Code Complete fills 21 pages including several hundred references that span almost fifty years of research.

In the book, McConnell not only gives rational explanations for his recommendations, he also tells you where to look if you wish to dig further. While this is not unusual in academic literature, it is definitely not the norm for our field. McConnell covers a large percentage of best practices in the field. He is also not too proud to admit mistakes. In a few places in the text, he points out recommendations from the first edition that he says did not work out as well as he would have liked in the intervening years. He also points out a few mistakes, as well as changes in the industry that require modifications to his older advice.

Although I don't necessarily agree with everything McConnell says, the points we disagree on are so minor as to not warrant discussion. If I could only recommend one book to a new or intermediate-level programmer, this would be the book. I would be willing to live with the minor disagreements, if the programmers I work with would learn and apply the rest of the book.

If you are learning to program, get this book and read it. I realize that it is huge (over 900 pages), but learning the lessons in this book will greatly improve your skills and knowledge in software development. If you are a senior developer and haven't read the first edition, this book will still help you improve your skills. If you read the first edition, this book is still worth a read.

I don't think I could recommend this book too highly.

Posted by GWade at February 27, 2005 03:06 PM. Email comments