[size=10]Image from pragprog.com[/size]
Publisher: The Pragmatic Bookshelf
[quote=The Pragmatic Bookshelf]
Jack the Ripper and legacy codebases have more in common than you’d think. Inspired by forensic psychology methods, this book teaches you strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use.[/quote]
[size=18][b]From the publisher[/b][/size]
[list][url=http://media.pragprog.com/titles/atcrime/decay.pdf]Detect Architectural Decay[/url][/list]
[list][url=http://media.pragprog.com/titles/atcrime/norms.pdf]Norms, Groups and False serial killers[/url][/list]
[size=18][b]Where to get it?[/b][/size]
'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.
I give this book 10 out of 10 horseshoes.
Disclosure: I received a copy of this title from the publisher in exchange for reviewing it on behalf of CodeRanch