System News
"Code Reading: The Open Source Perspective"
Handle Overwhelming Code Jobs, Demystify Tangled Code and More
June 16, 2003,
Volume 64, Issue 3

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:{DE5EA6BB-1743-406B-A680-D1B335BA7EA2}

Read More ... [ more...]



Other articles in the Publications section of Volume 64, Issue 3:

See all archived articles in the Publications section.

Trending in
Vol 234, Issue 2
Trending IT Articles