Code Complete 2 by Steve McConnell, Microsoft Press – 2004, $40 990pages
This is the second edition of a book that was ground-breaking for how it described approaching development in the new world of first GUI, event loops, and uncertain sequences of operations – then in the even more nebulous world of Web and Client Server computing with their added hazards and idiosyncrasies. Code Complete moved development out of topdown, strategic plan, and structured programming and opened up a whole new set of more agile methods.
So the release of the 2nd edition, at 990 pages, was greeted with great and well deserved interest. Let me tell readers that everything is here from Extreme Programming through Refactoring to Iterative Methods including some novel variations. Its all in Code Complete – now to just find the organizing principles.
Even the basics of organizing principles are here but way in chapter 20 – not up front. What this book needs is a guide to how to read it depending on the type of project and your role in it. Yes the preface and the intro chapters do this partially – and that is most welcome. However the nature of programming has changed so much with SaaS, SOA, ERP/CMS/BI packages through to configuring, customizing, and scripting self contained packages to the ever changing development for the Cloud… roles, time frames, constraints, and now an exceptionally wide choice of components from subroutine libraries through design tool generated APIs to pluggable and scriptable components. Programming isnt in Kansas or Redmond anymore. Code Complete 2 has great insights but the mapping to your projects table of resources – people, processes, and size of objects to be used is one of those RTP exercises at the end of the book that makes programming and development such a continuing risky adventure.