A new 528-page book titled, "Code Reading: The Open Source
Perspective," aims to show readers how to read both good and bad code,
what to look for and how to improve their own code. The book also
discusses techniques for handling overwhelming code jobs, figuring out
mystifying code and comprehending tangled programs.
Author Diomidis Spinellis has been working with the techniques he
writes about in this book since 1985. During that time he has written
and maintained more than 250,000 lines of code for many commercial and
open source projects. Spinellis is also a four-time winner of the
International Obfuscated C Code Contest. He is currently an assistant
professor in the Department of Management Science and Technology at the
Athens University of Economics and Business.
The book uses open source software to present a primer and reader for
software code. It examines the background knowledge and techniques
needed to read code written by others. Using more than 600 real-world
examples, the book tries to cover most of the code-related concepts
that a software developer is likely to come into contact with,
including programming constructs, data types, data structures, control
flow, project organization, coding standards, documentation and
architectures.
Many of the source code examples that the book uses come from the
source distribution of NetBSD, a free, highly portable UNIXR-like
operating system available for many platforms. NetBSD is considered an
appropriate choice for both production and research environments
because of its clean design and advanced features. The author chose the
OS over similar kinds because NetBSD emphasizes correct design and well
written code. The OS also avoids encumbering licenses, provides a
portable system running on many hardware platforms, interoperates well
with other systems and conforms to open systems standards as much as is
practical.
The other systems used in the book's examples are chosen for reasons of
code quality, structure, design, utility, popularity and a flexible
license. The author attempts to balance the selection of languages by
selecting suitable JavaTM platform and C++ code.
For the table of contents, preface and a sample chapter, visit:
http://www.awprofessional.com/catalog/product.asp?product_id={DE5EA6BB-1743-406B-A680-D1B335BA7EA2}
Read More ...
[...read more...]