Take a strategic approach to software construction and produce superior products with this fully updated edition of Steve McConnell's critically praised and award-winning guide to software development best practices.
Steve McConnell is recognized as one of the premier authors and voices in the development community. He is Chief Software Engineer of Construx Software and was the lead developer of Construx Estimate and of SPC Estimate Professional, winner of Software Development magazine's Productivity Award. He is the author of several books, including Code Complete and Rapid Development, both honored with Software Development magazine's Jolt Award.
I mentioned already that he covers OO, but I wanted to emphasize the excellent material he offers in this area. I am now seeing the benefit of measuring the quality of your classes by this guideline: are they true Abstract Data Types. ( rather than just trying to use the syntax that the language provides to its potential).
Great job on a pretty thorough re-write of a S/W development staple.
Programmers on every level (from introduction to master) will benefit from reading this book. Programmers at the introduction level may find some topics advanced, but references to additional resources are close at hand. This book covers a broad range of interconnected topics ranging from: variable names, code-tuning, personal character, managing your manager, gonzo programming and much more. The emphasis is always on successful software design techniques.
McConnell nails the "hows", "whats" and most importantly the "whys"(with hard data) that so many other texts seem to avoid.
It's interesting to note that Code Complete is a required read to become a practitioner (intermediate) level employee in McConnell's company (www.construx.com).
Selected quotes from Code Complete:
"People have already made all the mistakes that you're making now, and unless you're a glutton for punishment, you'll prefer reading their books and avoiding their mistakes to inventing new versions of old problems." (Chapter 35)
"Once a programmer realizes that programming principles transcend the syntax of any specific language, the doors swing open to knowledge that truly makes a difference in quality and productivity." (Preface)
"The value of hands-on experience as compared to book learning is smaller in software development than in many other fields" (Chapter 35)
I prefer Code Complete over the Pragmatic Programmer; the topics discussed in the Pragmatic Programmer are a subset of Code Complete. The Pragmatic Programmer makes a good prerequisite to Code Complete.