How do you learn to write great code? By reading great code. Once, that was nearly impossible. (Imagine if you had to work for the “Shakespeare” company to read Hamlet.) With the success of the open source movement, however, there’s suddenly loads of great code to read, much of it written by true masters. (Some of it’s even well documented!)
But most folks have never learned how to read great code. So they learn only a fraction of what they could learn.
That’s where Code Reading comes in. Diomedis Spinellis systematically teaches you how to read code. You’ll become “fluent” in reading code from many languages. (There’s lots of C here, unsurprisingly, but he’s also included many examples from Java, C++, and other languages.) You’ll review code from many open source projects (though he’s partial to NetBSD for its legendary emphasis on correct design and careful coding).
The examples range from the use of functions and global variables all the way to the design and architecture of large systems. You’ll find chapters on data types and structures, advanced control flow, effective coding standards, documentation, and more. There’s even a chapter on using code reading tools -- your editor, compiler, grep, regular expressions, and so forth.
Reading code won’t “just” make you a better developer. It’s indispensable if you’re involved in outsourced development projects, or if you use collaborative methodologies such as XP, or if you participate in code walkthroughs. These scenarios are, of course, increasingly widespread -- if not dominant. You desperately need this skill. This is -- by far -- the best place to learn it. Bill Camarda
Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks for Dummies, Second Edition.