Review: Code Complete 2
The classic guide to software development has been updated, Iain Laskey enthuses.
| Product | Code Complete 2 |
|---|---|
| Company | Microsoft Press |
| Web | www.microsoft.com/mspress |
| Price | From £33.99 |
| We like | Good, solid advice for developers |
| We don't like | Nothing |
| Rating | 10/10 |
| Requirements |
Code Complete by Steve McConnell has been one of the most highly respected 'must read' titles for the last ten years. Whilst there are books galore on every language, system and operating system you can think of, McConnell's book addressed the issue of providing a practical guide to good software construction. Code Complete was an instant hit and many IT managers made sure their programmers read it cover to cover. Ten years on, Steve McConnell has now updated his book to cater for newer trends and techniques in software development and thus we have 'Code Complete 2'.
Where Code Complete2 excels is that it doesn't just tell you what to do, it tells you why and then backs up the assertions with statistical data and results from studies. Every aspect of software development from naming variables to refactoring and code tuning are covered in clear concise terms. However, this book isn't just a technical engineering guide, it also stresses the importance of attitude and notes that the best programmers aren't so much builders as craftsmen.
The original used C for most of its examples but this update mixes the more modern C++, Visual Basic and Java. The actual language isn't important though as the code snippets are there to illustrate concepts, not language specific issues. The whole book is code agnostic and this is one of its real strengths - what it teaches can be applied to any programming endeavour.
Another strength is the sheer number of pointers to further reading and resources. If you want more information on a particular point, you'll know the best place to look. The book also has its own web site, www.cc2e.com to support the title.
To give an indicator as to the breadth of scope covered by Code Complete 2, the chapter headings include design, classes, high quality routines, defensive programming, variables, control, testing, debugging and collaboration. It also looks at wider issues such as system integration, programming tools and code layout. One chapter even covers desirable personality traits!
McConnell has a superb easy reading style that doesn't get too bogged down in detail. Each chapter is self contained so you can dip in anywhere and start reading. It's like having a friendly senior developer at your side who can explain everything in a clear and easy to understand style.
Conclusion
If you write software in any shape or form, you need this book. If you have the first edition, there is plenty here to warrant buying this second edition. If not, you must buy this book. If you manage a software team, buy them all a copy. It is that important.


