Code Reading (ISBN 0-201-79940-5) is a 2003 software development book written by Diomidis Spinellis. The book is directed to programmers who want to improve their code reading abilities. It discusses specific techniques for reading code written by others and outlines common programming concepts.
The code examples used in the book are taken from real-life software, many of them coming from the export-19980407 NetBSD snapshot. Although the programming language of choice is claimed to be balanced, the use of C to illustrate basic concepts predominates. Excerpts from important open-source code systems like the Apache Web server, the hsqldb Java relational database engine, the NetBSD Unix distribution, the Perl language, the Tomcat application server, and the X Window System are presented.
The book covers most concepts related to code that are likely to appear before a software developer's eyes, including programming constructs, data types, data structures, control flow, project organization, coding standards, documentation, and architectures. A compact disc with 16 million lines of open-source code, accompanying the book, provides the context for all the presented examples. The end chapters may be the ones of most use to advanced users, as the initial chapters delve into programming language constructs, regular expressions, etc.
The book inaugurated Addison-Wesley's Effective Software Development Series, edited by Scott Meyers, and received the 2004 Software Development Productivity Award in the “Technical Books” category. It has been translated into Chinese, Greek, Japanese, Korean, Polish, and Russian.