Buy new:
$31.49
FREE delivery: Friday, Dec 15 on orders over $35.00 shipped by Amazon.
Ships from
Amazon.com
Sold by
Amazon.com
Returns
Returnable until Jan 31, 2024
Payment
Secure transaction
List Price: $36.00 Details

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
Save: $4.51 (13%)
Get Fast, Free Shipping with Amazon Prime FREE Returns
Return this item for free
  • Free returns are available for the shipping address you chose. You can return the item for any reason in new and unused condition: no shipping charges
  • Learn more about free returns.
FREE delivery Friday, December 15 on orders shipped by Amazon over $35
Or fastest delivery Wednesday, December 13. Order within 18 hrs 17 mins
Arrives before Christmas
In Stock
$$31.49 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$31.49
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
$3.99 delivery Monday, December 18. Details
Or fastest delivery December 13 - 15. Details
Arrives before Christmas
Used: Acceptable | Details
Sold by Goodwill NWNC
Condition: Used: Acceptable
Comment: This book is preowned shows little cosmetic wear and is in readable condition. No Accessories such as CD's and access Codes. May have sticker or price points. Ships Monday through Friday from North Carolina via USPS. Your purchase will help to enhance peoples lives through the power of work. Paper Back Book
Access codes and supplements are not guaranteed with used items.
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Amazon book clubs early access

Join or create book clubs

Choose books together

Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Kindle app logo image

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.

QR code to download the Kindle App

Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs (The Pragmatic Programmers) 1st Edition

4.3 4.3 out of 5 stars 79 ratings

Price
New from Used from
Kindle
Paperback
$31.49
$25.95 $18.98
{"desktop_buybox_group_1":[{"displayPrice":"$31.49","priceAmount":31.49,"currencySymbol":"$","integerValue":"31","decimalSeparator":".","fractionalValue":"49","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"L6Vn3WPydqyC0RGVVoBFnHfc1VzVip079cLjSU8eOmkRVDafoC%2FSNFsBLCVGVw0Oe3iu9KV59RuPNGu0ww7x1Il31b7I%2FcTahXbACoUtKBrhpph9fT5vF%2FA2gZgClzr2i1p6pYVcNFn3TGZIyeBr3g%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$19.19","priceAmount":19.19,"currencySymbol":"$","integerValue":"19","decimalSeparator":".","fractionalValue":"19","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"L6Vn3WPydqyC0RGVVoBFnHfc1VzVip07%2BqAolc7xaHoABFA%2Ftgh%2Bo%2FG4ILDmr1n%2B963hyn2MFRYxnb5o%2BqbTZPNp8f0rve%2BCuBaLhriD2nV29GJyHOiKscIAlR3ymlmZ%2Bg5mI7%2BGNZ6%2BND98FslfN1q7GRTCxp%2Bf7XvEAQG9v0cILFTqsi54ugab7940%2B2D2","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons


$5.95/mo for the first 4 months
For a limited time, save 60% on Audible. Get this deal

Frequently bought together

$31.49
Get it as soon as Friday, Dec 15
In Stock
Ships from and sold by Amazon.com.
+
$34.31
Get it as soon as Friday, Dec 15
Only 16 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$22.95
Get it as soon as Friday, Dec 15
In Stock
Ships from and sold by Amazon.com.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

From the brand


From the Publisher

Q&A with Adam Tornhill, author of Your Code As a Crime Scene

How did you come up with the metaphor of the source code being a crime scene?

Well, I was in the middle of my psychology studies when I joined a course in forensics. At the same time, I was working full-time as a software developer fighting some scary large-scale legacy systems on a regular basis. The main challenge there is always to know which parts of the codebase really matter.

Which parts of the code become productivity bottlenecks? Which parts are hard to maintain? Where will the bugs be?

As I got into forensics, I realized that crime investigators face similar open-ended, large-scale problems that we do. And modern forensic psychologists attack these problems with methods useful to us software developers too. I decided to explore this connection and find out how we can apply it to code.

What are some of the forensics concepts we will learn about in this book?

The eye-opener to me, and the technique we'll use as a metaphor to reason about code, is geographical offender profiling. A geographical offender profile uses the spatial movement of criminals to identify their home bases. It works by calculating a probability surface and projecting it onto a real-word geography. So, I thought, what if we could do the same for software?

In our case the offender is code. So we learn techniques to identify patterns in the evolution of your code, how you've worked with it so far. That gives you the power to predict its future, to find the code that's hard to evolve and prone to defects - our offenders.

It's not only about complex code - complexity only matters if we need to deal with it. That's why it's important to identify the overlap between complicated code that we also have to work with often. It's a simple technique that works surprisingly well in practice. Of course we'll also support it with findings from empirical software research - what you learn is not just opinions but based on practices that have been shown to work on real-world projects.

Large-scale software development is also a social activity. That means it's prone to the same social biases that we fall for in everyday life. So here we'll look into some forensic cases gone wrong, learn from their mistakes, and apply our new knowledge to reason about teamwork, organizations, and software architectures.

I don't have a background in psychology. Will I be able to follow along?

I've made sure to explain the concepts we meet. Psychology matters to us since our primary tool as developers isn't the computer - it's our brain - and psychology is about how we function. It's about how we learn, solve problems, reason, and work with others. All these areas relate to our everyday development activities.

Tell me more about Code Maat.

The analysis techniques are based on version-control data. As such, you'll learn to mine data from your source code repositories and find interesting patterns in the evolution of your code. Code Maat is just a tool to automate the boring parts of that process.

In fact, I open-sourced Code Maat as a quick-start to put the techniques you learn about in the book into practice. We'll also use the source code of Code Maat for some case studies. The only reason for that is because it feels better to rip my own design decisions into shreds rather than criticizing the work of others where I don't share the original context.

That said, we'll investigate several other codebases as well so that we get a feel for how the different techniques complement each other. Out of all that, the tool itself is the least important part.

Can I use other tools instead of Code Maat to work with this book?

I'm pretty sure that these techniques will become mainstream in a few years - the information we can mine from our source code repositories is just too useful to be ignored. When that happens, you'll have several tools to chose from (both commercial and free).

But until that happens, I'd recommend that you tailor the tools to your specific needs. The algorithms aren't that hard to implement and we cover them all in the book. In addition, it's easy to build more elaborate tools on top of Code Maat. Code Maat generates CSV output that's straightforward to post-process and visualize in any way you chose.

Finally, there are other good options. I know that Michael Feathers, who wrote the foreword to the book, has open-sourced the tool he uses to analyze Ruby code repositories. There's also the Moose project, which provides an open platform to build your own custom analyses.

Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis
Software Design X-Rays
Also by Adam Tornhill Fix Technical Debt with Behavioral Code Analysis

Editorial Reviews

About the Author

Adam Tornhill combines degrees in engineering and psychology to get a different perspective on software. He works as an architect and programmer and also writes open-source software in a variety of programming languages. He's the author of the popular book Lisp for the Web and has self-published a book on Patterns in C. Other interests include modern history, music, and martial arts.

Product details

  • Publisher ‏ : ‎ Pragmatic Bookshelf; 1st edition (May 5, 2015)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 220 pages
  • ISBN-10 ‏ : ‎ 1680500384
  • ISBN-13 ‏ : ‎ 978-1680500387
  • Item Weight ‏ : ‎ 14.5 ounces
  • Dimensions ‏ : ‎ 7.5 x 0.46 x 9.25 inches
  • Customer Reviews:
    4.3 4.3 out of 5 stars 79 ratings

Important information

To report an issue with this product, click here.

Customer reviews

4.3 out of 5 stars
4.3 out of 5
79 global ratings

Top reviews from the United States

Reviewed in the United States on August 20, 2016
One person found this helpful
Report
Reviewed in the United States on May 23, 2017
Reviewed in the United States on April 2, 2017
Reviewed in the United States on November 15, 2016
One person found this helpful
Report
Reviewed in the United States on July 21, 2015
2 people found this helpful
Report
Reviewed in the United States on October 16, 2016
One person found this helpful
Report
Reviewed in the United States on October 6, 2016
12 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Sante
4.0 out of 5 stars Book ok
Reviewed in Germany on November 17, 2021
Mr. William M. Davies
3.0 out of 5 stars Good book, peddles his software a bit too much
Reviewed in the United Kingdom on February 2, 2019
3 people found this helpful
Report
P. Caron
4.0 out of 5 stars An excellent review of common development problem
Reviewed in Germany on April 28, 2016
GUILLERMO J FUENTES RODRIG
5.0 out of 5 stars Buena aproximación para evaluar tu base de código
Reviewed in Spain on November 4, 2016