Presents a novel metrics-based approach for detecting design problems in object-oriented software. Introduces an important suite of detection strategies for the identification of different well-known design flaws as well as some rarely mentioned ones.
Check out my blog for a more detailed review and summary of the book.
Object-Oriented Metrics in Practice is a must read if you want to know how to use metrics effectively. It shows how to use metrics to characterize and get an overview of the design of a system. The bulk of the book shows how to evaluate the design and identify design disharmonies by using detection strategies. The authors also present techniques of how to prioritize and recover from these design flaws. The theoretical advice is backed up by lots of practical examples and statistical data extracted from 45 Java projects and 37 C++ projects.
This book also presents some interesting visualization techniques. The Overview Pyramid describes the overall structure of a system. The Polymetric Views contain a lot of information about code elements and their relationships. Class Blueprints help you analyze suspects and quickly assess the structure of a class. It’s a shame I haven’t seen these visualization techniques embedded in more IDEs.
If you’ve ever looked at a bunch of metrics and issues related to your code base and wondered: How should I interpret all this information? Is this good? Is this bad? Where should I start? then this book is for you.
The book takes a while to get going, but then chapter 3 gives some interesting ideas on how to visualise various software metrics. At this point, I almost started to get a bit inspired.
Unfortunately, from then on, it's all downhill. The rest of the chapters deteriorate into repetitive and tedious recipes on how to detect various code smells. The idea is interesting, but it doesn't make for interesting reading.