Eleven years ago, Steve McConnell wrote “Code Complete.” And despite about eleven years in the business as a Program Manager, I’m only now getting around to reading it. I always knew it existed, I saw it on everyone’s shelves at Microsoft. So what was my resistance?
1) It is a long book, something only students or the unemployed would take on.
2) It is a detailed book, with lots of code samples, making it seem harder to understand at first glance than it really is.
3) Even without reading it, I knew that there’d be lots of recommendations for me to do things differently. I had enough people nipping at my heels trying to herd me in one direction or another without adding ol’ Steve to the fray.
Now I’ve read all the chapters once, some of them twice, and I can’t put it down. I probably shouldn’t put it down. Writing a technical book that can survive the past decade is an achievement in itself, but the real thing to be amazed about is that the industry has changed so little, and the book is still so desperately needed. Or rather, avid followers of this book are desperately needed.
Particularly interesting are the following recommendations:
1) Be willing to look idle at your computer. This is called thinking. It’s good for your software.
2) Think through your routines in pseudocode before writing in your language (C++ etc). Write down this pseudocode in the form of comments, and then write your code. If you find an error, you need to think through the problem more carefully in pseudocode anyway. Update the pseudocode (your comments) and then update your code. Controversy over.
3) “The characteristics that matter most are humility, curiosity, intellectual honesty, creativity, discipline, and enlightened laziness. Surprisingly, raw intelligence, experience, persistence, and guts hurt as much as they help.” I LOVE this. It is very bold in bringing the emotional aspect of programming right up front so you can deal with it.
I could go on and on. I wonder whether anyone has devised a test, a sort of exam, on the material in this book. If you pass, you can work on my project. That way you can ensure that the book has been read and understood before embarking on your 3 hour tour.
4:53:08 PM
|