: Adam Tornhill
: Pragmatic Bookshelf
: Design Patterns, UML, and Refactoring
: Tim Cooke
: 10 horseshoes
'Your Code as a Crime Scene' is aimed at intermediate to advanced Engineers who want to get more from their source repository history than simply who did what and when. As a developer who falls into that category I found it a fascinating read and left me itching to hunt out the criminals in my own applications.
Adam shows how to analyse your change history in new and interesting ways that allow you to uncover your code's dirty little secrets. Files that always change together identify unnecessary coupling. Files with large indentations uncover complex branching. Files that consistently grow on each change point to possible code dumping grounds. Plus a number of scenarios that I hadn't previously considered as problem areas.
The author has also written a powerful suite of tools called code-maat, available for free, which allow you to follow along and practice with the plentiful examples and get stuck in with analysing your own source history. This is a real strength of the book as it becomes of real practical use almost immediately. This 'learn by doing' approach is very valuable. Recommendations to improve each of the problem areas are presented and discussed in a pragmatic manner.
There are very few books that cover this topic and this is a welcome addition to my library. Having a good catalogue of scientific analysis techniques such as these for interrogating your source code takes a good deal of the 'artwork' out of finding problem hot spots. Highly recommended.
Disclosure: I received a copy of this book from the publisher for reviewing it on behalf of CodeRanch.
More info at Amazon.com