Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
37 used & new from $29.92

Have one to sell? Sell yours here
 
   
Code Reading: The Open Source Perspective (Effective Software Development Series) (v. 1)
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Code Reading: The Open Source Perspective (Effective Software Development Series) (v. 1) (Paperback)

by Diomidis Spinellis (Author)
3.8 out of 5 stars See all reviews (18 customer reviews)

List Price: $64.99
Price: $50.69 & this item ships for FREE with Super Saver Shipping. Details
You Save: $14.30 (22%)
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 4 left in stock--order soon (more on the way).

Want it delivered Tuesday, July 14? Choose One-Day Shipping at checkout. Details
20 new from $35.00 17 used from $29.92

Frequently Bought Together

Code Reading: The Open Source Perspective (Effective Software Development Series) (v. 1) + Code Quality: The Open Source Perspective (Effective Software Development Series) + Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice (O'Reilly))
Price For All Three: $139.25

Show availability and shipping details


Customers Who Bought This Item Also Bought

Debugging

Debugging

by David, J Agans
4.8 out of 5 stars (19)  $16.15
Objects, Abstraction, Data Structures and Design: Using C++

Objects, Abstraction, Data Structures and Design: Using C++

by Elliot B. Koffman
$99.80
Why Programs Fail, Second Edition: A Guide to Systematic Debugging

Why Programs Fail, Second Edition: A Guide to Systematic Debugging

by Andreas Zeller
4.7 out of 5 stars (6)  $53.95
Advanced Topics in Types and Programming Languages

Advanced Topics in Types and Programming Languages

by Benjamin C. Pierce
$45.90
Code Craft: The Practice of Writing Excellent Code

Code Craft: The Practice of Writing Excellent Code

by Pete Goodliffe
3.8 out of 5 stars (13)  $29.67
Explore similar items

Editorial Reviews

Product Description
This book is a unique and essential reference that focuses upon the reading and comprehension of existing software code. While code reading is an important task faced by the vast majority of students, it has been virtually ignored as a discipline by existing references. The book fills this need with a practical presentation of all important code concepts, form, structure, and syntax that a student is likely to encounter. The concepts are supported by examples taken from real-world open source software projects. The focus upon reading code (rather than developing and implementing programs from scratch) provides for a vastly increased breadth of coverage.

From the Back Cover

If you are a programmer, you need this book.

  • You've got a day to add a new feature in a 34,000-line program: Where do you start? Page 333
  • How can you understand and simplify an inscrutable piece of code? Page 39
  • Where do you start when disentangling a complicated build process? Page 167
  • How do you comprehend code that appears to be doing five things in parallel? Page 132

You may read code because you have to--to fix it, inspect it, or improve it. You may read code the way an engineer examines a machine--to discover what makes it tick. Or you may read code because you are scavenging--looking for material to reuse.

Code-reading requires its own set of skills, and the ability to determine which technique you use when is crucial. In this indispensable book, Diomidis Spinellis uses more than 600 real-world examples to show you how to identify good (and bad) code: how to read it, what to look for, and how to use this knowledge to improve your own code.

Fact: If you make a habit of reading good code, you will write better code yourself.



0201799405B02032003

See all Editorial Reviews

Product Details

  • Paperback: 528 pages
  • Publisher: Addison-Wesley Professional (June 6, 2003)
  • Language: English
  • ISBN-10: 0201799405
  • ISBN-13: 978-0201799408
  • Product Dimensions: 9.1 x 7.3 x 1.3 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 3.8 out of 5 stars See all reviews (18 customer reviews)
  • Amazon.com Sales Rank: #702,557 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #9 in  Books > Computers & Internet > Programming > Software Design, Testing & Engineering > Coding Theory


What Do Customers Ultimately Buy After Viewing This Item?

Code Reading: The Open Source Perspective (Effective Software Development Series) (v. 1)
85% buy the item featured on this page:
Code Reading: The Open Source Perspective (Effective Software Development Series) (v. 1) 3.8 out of 5 stars (18)
$50.69
Working Effectively with Legacy Code (Robert C. Martin Series)
9% buy
Working Effectively with Legacy Code (Robert C. Martin Series) 4.9 out of 5 stars (28)
$49.29
The Productive Programmer (Theory in Practice (O'Reilly))
6% buy
The Productive Programmer (Theory in Practice (O'Reilly)) 4.5 out of 5 stars (20)
$26.39

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(2)
(1)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

18 Reviews
5 star:
 (6)
4 star:
 (5)
3 star:
 (5)
2 star:
 (1)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
3.8 out of 5 stars (18 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
46 of 49 people found the following review helpful:
3.0 out of 5 stars Cool concept, but disappointing, March 9, 2004
By Steve R. Hollasch (Redmond, WA USA) - See all my reviews
(REAL NAME)   
I purchased the book to help me out with the recurring task of quickly understanding the nature of unfamiliar large software projects. Kudos to Mr. Spinellis for tackling this subject, which is a large part of the everyday work of programming.

Unfortunately, I feel that this book was of very limited use to me as an experienced programmer, and suffers from a rather basic flaw (as a topic). The problem is that the art of code reading is really the intersection of a deep and/or broad understanding of programming, in conjunction with a deep and/or broad understanding of the tools and practices employed. One could well assert that this book is about *debugging* unfamiliar codebases as much as it is about *reading* them, since code comprehension is a component of code debugging. This is a rather apt analogy, since many have attempted to describe the black art of debugging just as Mr. Spinellis has attempted with reading, and with no definitive "must-have" coverage to date.

The result is that I felt the book rushed through important programming concepts that were either extremely basic (global variables, while loops, conditionals, blocks), or language-specific (C typedef, arrays, function pointers), or too deep for the book to address adequately (trees, stacks, queues, hashes, graphs). With regard to the latter, I found it odd to be reading a lot of text about basic data structures, when it seemed to me that I should be assumed to already have this knowledge if I wanted to read code that used it. And if I did NOT know about basic data structures, I should be reading a book about data structures rather than a book about code reading. Software patterns are also presented (though not by the name, I think). If I was to encounter a codebase that employed some programming concept I didn't understand fully (for example, red-black trees), then I would first go to a book on data structures -- not a book on code reading.

Following the sections on what I would consider mandatory prerequisite understanding are some brief chapters software engineering concepts (version control, build systems, project organization, packaging, system structures), which might be useful to a reader who had never worked on a large-scale project before.

After all of the coverage of what I would consider prerequisite knowledge, the penultimate chapter finally gets to the topic of tools and techniques for actually reading code. This chapter is in fact what I had hoped Mr. Spinellis would devote the book to. Unfortunately, most of the tools and techniques presented are very basic and quickly encountered by any programmer: regular expressions, the fact that many editors include browsing support, the grep utility, differencing tools, the idea that you could write your own tools, using the compiler to emit warnings and preprocessed code, that beautifiers exist, profiling and annotating printouts. And that's it, in about forty pages, followed by a chapter devoted to an example session.

On the whole, I think this book comes up short. If you have a few years of programming experience under your belt, then you've already encountered the basic tools and techniques presented. If someone resorted to this book to learn about a basic programming construct, then they could read my code, but I'd be nervous about letting them modify it, until they read more focused texts.

I'm rating this book at three stars because there are some good pieces here and the effort was laudable. In the end, though, I really don't think that anybody needs this book on their shelf.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
12 of 13 people found the following review helpful:
5.0 out of 5 stars Reading other people's code can teach you a lot, July 21, 2003
By A Customer
Those wishing to understand the various styles of programming and meta-programming that have become common in open source code, as well as those who seek to broaden (if not deepen) their understanding of software engineering, would be smart to pick this up. Not only will this book help you to understand the innards of your favorite or least favorite software, but it provides insight into why the creators made the choices they did. It's not going to teach you about computer science as well as a good textbook will, but it will give you an understanding of and appreciation for what programmers balance in their minds as they shape their complex creations. Think of it as The Story and its Writer (ISBN 0312397291) applied to software.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
57 of 73 people found the following review helpful:
3.0 out of 5 stars Unfocused, June 23, 2003
By Thomas Paul (Plainview, NY USA) - See all my reviews
(REAL NAME)      
Programmers need to be able to look at code and analyze what it does in order to change it or fix it. The concept behind this book is to use many of the open source code samples to discuss how to read code and how to spot potential trouble areas in code. Unfortunately the book doesn't stay focused on this single goal and that detracts from its overall value. The book spends too much time explaining the basics of programming instead of concentrating on reading code. It also bounces around from one language to another, from C to C++ to Perl to Java, which is very confusing. For example, if you are a Java programmer do you really care how the C compiler optimizes strcmp calls? And what does that have to do with reading code?

Some of the advice is fairly basic such as try to realign indentations properly and replace complex code structures with simple placeholders when doing analysis. Although there are parts of the book that are excellent, too many of these good parts are wrapped under what should be basic concepts to anyone reading code. How can you debug a Java program, for example, if you are unfamiliar with abstract classes, libraries, or polymorphism? Do you really need a book on code reading to explain basic object oriented programming?

Overall, the book seems very unfocused and I really can't recommend it.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

2.0 out of 5 stars Rambling dissapointment
The book rambles on with no seeming focus. It does contain some interesting thoughts but to get to them you must wade through a terrible book.
Published 24 months ago by R. Bedford

3.0 out of 5 stars Read your code
I gave up reading after only 20% of this book. I had hoped it would give encouragement and easy-to-read pointers on how to quickly familiarize oneself with a large body of code... Read more
Published on October 24, 2006 by T. Harris

4.0 out of 5 stars Works best if you have the matching skill sets of the material...
If you're a programmer, you are going to be reading the code that others write. It's as simple as that. But reading code is not like reading someone's novel or article. Read more
Published on August 10, 2006 by Thomas Duff

4.0 out of 5 stars Five stars for beginners, much less for seasoned programmers
While I have absolutely no doubt that the contents of this book are extremely valuable to developers, it is difficult for me to believe that seasoned programmers would need to... Read more
Published on April 28, 2006 by Charles Ashbacher

3.0 out of 5 stars An attempt at being software engineering encyclopedia that falls short
I agree with the two previous reviewers (Paul and Hollasch). On the positive side, the author's obviously a serious scholar. Read more
Published on October 17, 2005 by alkmaar

4.0 out of 5 stars Learn the other half of coding.
I run a small programming contest over the Internet (Ruby Quiz), so the author of Code Reading: The Open Source Perspective and I share a passion. Read more
Published on March 16, 2005 by James Edward Gray II

5.0 out of 5 stars Valuable resource of Information and good practices
A valuable resource for best practices, do's and don'ts, what works and why, what you should do in various situations of project, code, and architecture evaluation, and everything... Read more
Published on January 21, 2004 by ART SEDIGHI

5.0 out of 5 stars Easy to read, worth checking out for some
I stumbled upon this book when I was at the book store and picked it up without ever reading a review or seeing any kind of Internet press about it and was very surprised at what... Read more
Published on November 30, 2003 by An Pham

4.0 out of 5 stars great insights from practical experience
i like this book a lot. by touring various pieces of source code (focusing on NetBSD, an open source version of BSD), we get to see what's happening and why. Read more
Published on November 16, 2003 by jose_monkey_org

4.0 out of 5 stars Very good handling of an extremely tough subject
Why do people approach the same problem in many ways?

There is no ONE answer to it. The Code Reading is not an easy subject by any means. Read more

Published on November 4, 2003 by cltss

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (1 discussion)
  Discussion Replies Latest Post
I was wondering .. 0 June 2007
See all discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Storm Warning

Black & Decker Storm Station
Buy the Black & Decker Storm Station--an all-in-one emergency power source, radio, and flashlight--for the unbelievably low price of $119.99.

Shop the Power Tools Store

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Turn Over a New Leaf

Shop for Autumn Yard-Maintenance Equipment
Keep your lawn neat this autumn. The Outdoor Power & Lawn Equipment Store carries the chain saws, blowers, and shredders needed to clean up your yard this fall.

Shop all outdoor power equipment

 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Finger Lickin' Fifteen
Finger Lickin' Fifteen by Janet Evanovich
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates