Code Reading: Open Source Perspective v. 1 (Effective Software Development)
|
| List Price: | £37.90 |
| Price: | £32.22 & eligible for FREE Super Saver Delivery. Details |
Availability: Usually dispatched within 24 hours
Dispatched from and sold by Amazon.co.uk
16 new or used available from £4.65
Average customer review: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.
Product Details
- Amazon Sales Rank: #423070 in Books
- Published on: 2003-06-05
- Original language: English
- Number of items: 1
- Binding: Paperback
- 528 pages
Editorial Reviews
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
About the Author
Diomidis Spinellis has been developing the concepts presented in this book since 1985, while also writing groundbreaking software applications and working on multimillion-line code bases. Spinellis holds an M.Eng. degree in software engineering and a Ph.D. in computer science from Imperial College London. Currently he is an associate professor in the Department of Management Science and Technology at the Athens University of Economics and Business.
Customer Reviews
Describing a process... not a miracle.
If you are reading this book and expect to understand the second day after how opensource works, you are plain wrong. You should actually stop reading.
But what this book does, it does with style.
It presents you how opensource projects manage to create the best of the breed software, how you can track changes in those projects and understand why some software got the way it is, how can you alter it to fit your needs. It actually gives you valuable insight upon code analysis, and how to get a grip when you have a real big code in front of you and don't know even where to start.
If you will understand that this books explain you a process of creating software (which in no case happends over night) you will love this book... otherwise this will be just another technical book, explaining sometimes apparent obvious stuff.
Because this book has great insights from the years of experience of the author, I can not give it less then 5 stars and suggest it as a required reading for anyone who considers entering the opensource developer's world.
Unfocused
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.




