After seeing Code Complete recommended everywhere on the Internet as a key book for developers to read, I knew I had to give it a read. After reading Code Complete, I find that I will be taking away some of the lessons in the book as things I do every single day.
Code Complete is a book mainly about code construction — good practices for creating classes, routines, conditional blocks, loop blocks, error handling, etc. It also talks in part about software architecture, design, planning, personal character, and self improvement. These sections are given very little space in the book compared to the amount of space devoted to coding.
I found that I learned a lot about design and architecture from the book that I had not encountered previously. Simple things like making sure planning is completed in full before actually coding anything — the book reveals that errors corrected during design are orders of magnitude cheaper than correcting design errors after coding has already been completed.
The information on personal character and self improvement are logical things that most people are already trained to do. Things such as intellectual honesty, and trying to solve a problem prior to mentioning it’s a problem. Also, learning to code into a language, instead of in it — this means creating whatever tools you need to work comfortably and correctly instead of simply accepting the design of the language and not using niceties and safeties that you are enjoy in other languages.
Most valuable though are the coding sections. I’ve been coding for a long time, but I found myself taking discussion points away for consideration every single chapter. I definitely now find myself considering readability, complexity, and maintainability whenever I’m coding, and I didn’t particularly care for these aspects before.
This book was a lengthy but important read and I’d recommend that any developer read it. Most developers do not read books about development, but I feel like that’s a mistake. It’s more important to be reading the right kind of books like this one — books that talk about ideas and concepts instead of language specifications. Steve McConnell did an excellent job with this book.