Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Your Code as a Crime Scene

    Your Code as a Crime Scene

    Adam Tornhill · 2015

    Jack the Ripper and legacy codebases have more in common than you'd think. Inspired by forensic psychology methods, you'll learn 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. Software is a living entity that's constantly changing. To understand software systems, we need to know where they came from and how they evolved. By mining commit data and analyzing the history of your code, you can start fixes ahead of time to eliminate broken designs, maintenance issues, and team productivity bottlenecks. In this book, you'll learn forensic psychology techniques to successfully maintain your software. You'll create a geographic profile from your commit data to find hotspots, and apply temporal coupling concepts to uncover hidden relationships between unrelated areas in your code. You'll also measure the effectiveness of your code improvements. You'll learn how to apply these techniques on projects both large and small. For small projects, you'll get new insights into your design and how well the code fits your ideas. For large projects, you'll identify the good and the fragile parts. Large-scale development is also a social activity, and the team's dynamics influence code quality.

    Programming
    Open LibraryAmazon
    Stats for nerds
    12recommend
    16mentions
    15people
    2015–2026years
    81% recommend19% neutral

    Mentions per year

    2015201720192021202320252026

    What Hacker News says

    1. cratermoonApr 2026
      This is the premise of the excellent book Your Code as a Crime Scene. The history and structure of the codebase reveals a wealth of information.
      thread
    2. youknownothingApr 2026
      I like the mindset, it reminds me of "Your code as a crime scene" by Adam Tornhill: https://www.adamtornhill.com/articles/crimescene/codeascrime...

      Also, very tangentially, to the notion of the Developer's Legacy Index: https://www.javaadvent.com/2021/12/using-jgit-to-analyse-the...

      thread
    3. burhanrashid52Nov 2023
      Few months month ago, Someone asked on Twitter “Do you read programming books? If yes, why?”. You can read my answer in the tweet,

      Here are mine, in order of how a developer starts their journey, from basic to scaling problems:

      1. Code: The Hidden Language of Computers (Pure Basic: Starting with Binary) 2. Working Effectively with Legacy Code (Dealing with an ugly codebase) 3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code) 4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first) 5. Head First Design Principles (Terminology and concepts for maintainable and extendable design) 6. Algorithms to Live By (Algorithms are fundamental ideas before we write any code) 7. Git Pro (Software cannot run without a Version Control System (VCS). We use it every minute of our working day) 8. Your Code as a Crime Scene (Finding problems in the code using code history) 9. Data-Intensive Applications (Databases are everywhere) 10. Software Engineering at Google (Addressing the biggest scaling problems)

      Honorable Mentions: 1. Clean Code (Writing code that is easy to understand by other developers) 2. The Soft Skills (Coding alone is not enough to be a great software engineer) 3. Peopleware (Managing software teams).

      Also, I am planning to write a short book summarizing all the important points from these above books. If you are interested in getting one or want to be part of an early reader, please email me at burhanrashid5253@gmail.com.

      thread
    4. dpflanNov 2023
      Thanks for the list, here it is again:

      1. Code: The Hidden Language of Computers (Pure Basic: Starting with Binary)

      2. Working Effectively with Legacy Code (Dealing with an ugly codebase)

      3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code)

      4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first)

      5. Head First Design Principles (Terminology and concepts for maintainable and extendable design)

      6. Algorithms to Live By (Algorithms are fundamental ideas before we write any code)

      7. Git Pro (Software cannot run without a Version Control System (VCS). We use it every minute of our working day)

      8. Your Code as a Crime Scene (Finding problems in the code using code history)

      9. Data-Intensive Applications (Databases are everywhere)

      10. Software Engineering at Google (Addressing the biggest scaling problems)

      Honorable Mentions:

      1. Clean Code (Writing code that is easy to understand by other developers)

      2. The Soft Skills (Coding alone is not enough to be a great software engineer)

      3. Peopleware (Managing software teams).

      thread
    5. turtleyachtAug 2023
      > In order to care for technological infrastructure, we need maintenance engineers, not just systems designers--and that means paying for people, not just for products.

      Wonder if this is getting better, at least for newer (than COBOL) technologies.

      There's books like Your Code as a Crime Scene and Sustainable Web Development with Ruby on Rails, along with ideas to address tech debt like No Broken Windows and Chesterton's Fence.

      Service providers like Tidelift, who help sustain open source devs, and even upkeep companies that maintain Rails apps.

      thread
    6. cratermoonMar 2023
      The best source for this kind of emprical measurement of code complexity is Your Code as a Crime Scene by Adam Tornhill. See also http://www.adamtornhill.com/code/codemaat.htm
      thread

    Related

    Cover of Code Reading
    2009–2026

    Code Reading

    Diomidis Spinellis
    11 recommend · 21
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of The Pragmatic Programmer
    2007–2026

    The Pragmatic Programmer

    Andy Hunt
    353 recommend · 700
    Cover of Clean Code
    2008–2026

    Clean Code

    Robert C. Martin
    298 recommend · 951
    Cover of Rust in Action
    2018–2025

    Rust in Action

    Tim McNamara
    17 recommend · 41
    Cover of Programming Pearls
    2007–2026

    Programming Pearls

    Jon Bentley
    158 recommend · 315
    Cover of Java puzzlers
    2008–2025

    Java puzzlers

    Joshua Bloch
    12 recommend · 21
    Cover of The Rust Programming Language
    2015–2026

    The Rust Programming Language

    Steve Klabnik
    170 recommend · 257