Learn more
These promotions will be applied to this item:
Some promotions may be combined; others are not eligible to be combined with other offers. For details, please see the Terms & Conditions associated with these promotions.
- Highlight, take notes, and search in the book
- In this edition, page numbers are just like the physical edition
Your Memberships & Subscriptions

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Code Quality: The Open Source Perspective (Effective Software Development Series) 1st Edition, Kindle Edition
Diomidis Spinellis' first book, Code Reading, showed programmers how to understand and modify key functional properties of software. Code Quality focuses on non-functional properties, demonstrating how to meet such critical requirements as reliability, security, portability, and maintainability, as well as efficiency in time and space.
Spinellis draws on hundreds of examples from open source projects--such as the Apache web and application servers, the BSD Unix systems, and the HSQLDB Java database--to illustrate concepts and techniques that every professional software developer will be able to appreciate and apply immediately.
Complete files for the open source code illustrated in this book are available online at: http://www.spinellis.gr/codequality/
- ISBN-13978-0768685121
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateApril 3, 2006
- LanguageEnglish
- File size7.5 MB
Kindle E-Readers
- Kindle Paperwhite
- Kindle
- Kindle (10th Generation)
- Kindle Oasis (10th Generation)
- Kindle Paperwhite (10th Generation)
- Kindle Oasis
- Kindle Touch
- Kindle Oasis (9th Generation)
- All New Kindle E-reader (11th Generation)
- Kindle Scribe (1st Generation)
- Kindle Voyage
- Kindle Paperwhite (11th Generation)
- Kindle Paperwhite (5th Generation)
- All New Kindle E-reader
- All new Kindle paperwhite
Fire Tablets
Shop this series
See full series-
First 3$160.17
-
First 5$232.19
-
First 10$391.75
-
All 12 available$461.23
-
First 3$160.17
-
First 5$232.19
-
First 10$391.75
-
All 12 available$461.23
This option includes 3 books.
This option includes 5 books.
This option includes 10 books.
This option includes 12 books.
Customers who bought this item also bought
Editorial Reviews
From the Back Cover
- Page 26: How can I avoid off-by-one errors?
- Page 143: Are Trojan Horse attacks for real?
- Page 158: Where should I look when my application can't handle its workload?
- Page 256: How can I detect memory leaks?
- Page 309: How do I target my application to international markets?
- Page 394: How should I name my code's identifiers?
- Page 441: How can I find and improve the code coverage of my tests?
Diomidis Spinellis' first book, Code Reading, showed programmers how to understand and modify key functional properties of software. Code Quality focuses on non-functional properties, demonstrating how to meet such critical requirements as reliability, security, portability, and maintainability, as well as efficiency in time and space.
Spinellis draws on hundreds of examples from open source projects--such as the Apache web and application servers, the BSD Unix systems, and the HSQLDB Java database--to illustrate concepts and techniques that every professional software developer will be able to appreciate and apply immediately.
Complete files for the open source code illustrated in this book are available online at: http://www.spinellis.gr/codequality/
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.
Product details
- ASIN : B001FWIJEG
- Publisher : Addison-Wesley Professional; 1st edition (April 3, 2006)
- Publication date : April 3, 2006
- Language : English
- File size : 7.5 MB
- Simultaneous device usage : Up to 5 simultaneous devices, per publisher limits
- Text-to-Speech : Enabled
- Screen Reader : Supported
- Enhanced typesetting : Enabled
- X-Ray : Not Enabled
- Word Wise : Not Enabled
- Print length : 610 pages
- Best Sellers Rank: #2,675,393 in Kindle Store (See Top 100 in Kindle Store)
- #2,974 in Software Development (Kindle Store)
- #6,194 in Software Development (Books)
- #17,239 in Computer Software (Books)
- Customer Reviews:
About the author

Diomidis Spinellis is a Professor in the Department of Management Science and Technology at the Athens University of Economics and Business, Greece. His research interests include software engineering, programming languages, IT security, big-data processing, and optimization methods. He holds an MEng in Software Engineering and a PhD in Computer Science both from Imperial College London.
Spinellis has published two books in Addison-Wesley's "Effective Programming Series": in 2004 Code Reading: the Open Source Perspective, which received a Software Development Productivity Award in 2004 and has been translated into six other languages, and in 2006 Code Quality: the Open Source Perspective, which also received a Software Development Productivity Award in 2007. Both books use hundreds of examples from large open source systems, like the BSD Unix operating system, the Apache Web server, and the HSQLDB Java database engine, to demonstrate how developers can comprehend, maintain, and evaluate existing software code. Spinellis has published more than 300 technical papers in journals and refereed conference proceedings, which have received more than 8000 citations. He served for a decade as a member of the IEEE Software editorial board, authoring the regular “Tools of the Trade” column, and as the magazine's Editor-in-Chief over the period 2015–2018. He has also contributed a chapter to the best-selling book Beautiful Code: Leading Programmers Explain How They Think (O'Reilly, 2007).
Spinellis is the author of many open-source software packages, libraries, and tools and has contributed to the FreeBSD operating system as a committer (2003-2010). His implementation of the Unix sed stream editor is part of all BSD Unix distributions and Apple's macOS. Other tools he has developed include the UMLGraph declarative UML drawing engine, the CScout refactoring browser for C programs, the sgsh scatter gather shell that constructs directed graph process pipelines, the ckjm tool for calculating Chidamber and Kemerer object-oriented metrics in large Java programs, the Outwit suite for integrating Windows features with command-line tools, the fileprune backup file management facility, and the socketpipe network plumbing utility. Dr. Spinellis serves as an elected member of the IEEE Computer Society Board of Governors (2013-2015), and is a senior member of the ACM and the IEEE, and a member of the Usenix association. He is four times winner of the International Obfuscated C Code Contest and a member of the crew listed in the Usenix Association 1993 Lifetime Achievement Award.
Customer reviews
- 5 star4 star3 star2 star1 star5 star58%21%0%0%21%58%
- 5 star4 star3 star2 star1 star4 star58%21%0%0%21%21%
- 5 star4 star3 star2 star1 star3 star58%21%0%0%21%0%
- 5 star4 star3 star2 star1 star2 star58%21%0%0%21%0%
- 5 star4 star3 star2 star1 star1 star58%21%0%0%21%21%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on July 21, 2009The book is full of hard-won experience cast nicely into prose. It's a very worthwhile read. The author doesn't shy away from explaining difficult or intricate concepts, where necessary, and each point is illustrated with example code from real systems.
For example, the chapter on Maintainability opens with four attributes of a maintainable system (from ISO/IEC 9126-1:2001) that really struck a chord with me.
Analysability: Finding the location of an error or the part of the software that must be analysed
Changeability: Implementing the maintenance change on the system's code
Stability: Not breaking anything through the change
Testability: Validating the software after the change
I know maintainable code when I see it -- it has a certain feel... Up until now though I've often struggled to express that feeling to non-programmers, or perhaps more importantly, to less experienced colleagues.
Highly recommended.
- Reviewed in the United States on October 2, 2006First of all, this author is a serious academic. The book is worth reading and probably will be for a long time to come. It's also a fine production typesetting-wise. The previous review's complain about copy-editing errors in the book is really missing the point, because those could be easily overlooked when you read books of such a grand scale.
The good points aside, however, I'm honestly a little surprised that there was only one review prior to the current one. This seems to indicate it's neither that popular, nor that obviously destined to be a classic, as the author probably had in mind when he was composing it.
One drawback, which it shares with its older sister, "Code Reading" (2003), is a pompous writing style. Lots of words and pages are wasted dwelling on the obvious, and in quite a few spots the way too obvious. Just go through one of those end-of-a-chapter points to take home, you'll know what I mean. As couple of more specific examples, take a look at the gratuitous explanation on omitting the constant factor of the big O notations on p.177; the needless yet painstaking attempt at explaining and justifying usages of charts in log scale on p.13.
This is in sharp contrast to the legendary writing of Brian Kernighan, whose "The Practice of Programming" (1999), "The C Programming Language" (1988), and "The UNIX Programming Environment" (1984) are all greats in professional computing, short, sweet, yet with densely packed knowledge content. They are truly time-tested classics, deserving read, and reread.
- Reviewed in the United States on May 2, 2021Basic book
Top reviews from other countries
- FranklinJReviewed in the United Kingdom on October 14, 2014
5.0 out of 5 stars A conveniently helpful resource
I found this book to be very helpful in providing some key points for coding which proved very helpful in my current project.