{
  "schema_version": "1.0",
  "kind": "BooksRedditRecommendationReceipt",
  "id": "booksreddit:recommendation-receipt:working-effectively-with-legacy-code",
  "book": {
    "slug": "working-effectively-with-legacy-code",
    "title": "Working Effectively with Legacy Code",
    "author": "Michael C. Feathers",
    "authors": [
      "Michael C. Feathers"
    ],
    "first_published": 2004
  },
  "canonical_url": "https://booksreddit.com/book/working-effectively-with-legacy-code/",
  "receipt_anchor_url": "https://booksreddit.com/book/working-effectively-with-legacy-code/#recommendation-receipt",
  "evidence_urls": {
    "json": "https://booksreddit.com/evidence/working-effectively-with-legacy-code.json",
    "markdown": "https://booksreddit.com/evidence/working-effectively-with-legacy-code.md"
  },
  "consensus": "142 mentions across 132 unique commenters — the highest unique-commenter density in this batch — and r/ExperiencedDevs owns 70 of them. That sub recommends it specifically, not reflexively. When someone describes inheriting untested code written by 30 devs in 5 years in 5 different styles, the ↑295 reply is: \"Brace yourself. That's the standard. \" The sentiment there is clearly positive.",
  "read_if": "You've been handed a service that's been in production for six years, has no tests, and the original developer left last quarter. r/ExperiencedDevs is explicit about this: 70 mentions, and most are targeted recommendations for precisely that scenario. If you're mid-career and already own it, the question is whether you've worked through the seam chapters rather than just having it on the shelf.",
  "skip_if": "r/cscareerquestions and r/AskProgramming together account for 30 mentions at neutral sentiment — in those communities it functions more as a purchase checkbox than a book people finish.",
  "strongest_evidence": {
    "subreddit": "programming",
    "excerpt": "Here's the list, for anyone interested in just that: 1. The Pragmatic Programmer by David Thomas & Andrew Hunt (67% recommended) 2. Clean Code by Robert C. Martin (66% recommended) 3. Code Complete by Steve McConnell (42% recommended) 4. Refactoring by Martin Fowler (35% recommended) 5. Hea…",
    "score": 655,
    "sentiment": 0.3,
    "published_at": "2020-02-26T18:08:43+00:00",
    "permalink": "https://www.reddit.com/r/programming/comments/f9ut5f/the_most_recommended_programming_books_of_alltime/fiufpgf/"
  },
  "dissent": {
    "editorial_caveat": "r/cscareerquestions and r/AskProgramming together account for 30 mentions at neutral sentiment — in those communities it functions more as a purchase checkbox than a book people finish.",
    "negative_source_excerpt": null
  },
  "sample": {
    "total_mentions": 142,
    "unique_commenters": 132,
    "published_quote_count": 8,
    "average_sentiment": 0.54,
    "subreddits": [
      {
        "name": "ExperiencedDevs",
        "mentions": 70,
        "average_sentiment": 0.6,
        "last_seen": "2026-02-21"
      },
      {
        "name": "programming",
        "mentions": 20,
        "average_sentiment": 0.3,
        "last_seen": "2025-12-22"
      },
      {
        "name": "learnprogramming",
        "mentions": 16,
        "average_sentiment": 0.6,
        "last_seen": "2025-10-02"
      },
      {
        "name": "cscareerquestions",
        "mentions": 15,
        "average_sentiment": 0.4,
        "last_seen": "2024-06-16"
      },
      {
        "name": "AskProgramming",
        "mentions": 15,
        "average_sentiment": 0,
        "last_seen": "2026-01-12"
      },
      {
        "name": "webdev",
        "mentions": 4,
        "average_sentiment": 0,
        "last_seen": "2024-04-28"
      },
      {
        "name": "devops",
        "mentions": 2,
        "average_sentiment": 0,
        "last_seen": "2022-10-10"
      }
    ]
  },
  "updated_at": "2026-06-06T00:00:00.000Z",
  "sources": [
    {
      "subreddit": "programming",
      "excerpt": "Here's the list, for anyone interested in just that: 1. The Pragmatic Programmer by David Thomas & Andrew Hunt (67% recommended) 2. Clean Code by Robert C. Martin (66% recommended) 3. Code Complete by Steve McConnell (42% recommended) 4. Refactoring by Martin Fowler (35% recommended) 5. Hea…",
      "score": 655,
      "sentiment": 0.3,
      "published_at": "2020-02-26T18:08:43+00:00",
      "permalink": "https://www.reddit.com/r/programming/comments/f9ut5f/the_most_recommended_programming_books_of_alltime/fiufpgf/"
    },
    {
      "subreddit": "ExperiencedDevs",
      "excerpt": "This sounds like the case of code that simply wasn't developed with testing in mind. That type of systems are inherently very very hard to unit test. If you really want to try, I would highly recommend reading [Working Effectively with Legacy Code](",
      "score": 616,
      "sentiment": 0.7,
      "published_at": "2023-12-08T17:16:09+00:00",
      "permalink": "https://www.reddit.com/r/ExperiencedDevs/comments/18drgvf/our_architecture_doesnt_allow_for_unit_testing/kciuavv/"
    },
    {
      "subreddit": "learnprogramming",
      "excerpt": "* The Pragmatic Programmer: From Journeyman to Master * The pheonix project & the unicorn project * Working effectively with legacy code * The Software Craftsman: Professionalism, Pragmatism, Pride",
      "score": 602,
      "sentiment": 0.5,
      "published_at": "2022-12-06T07:44:33+00:00",
      "permalink": "https://www.reddit.com/r/learnprogramming/comments/zdzhy8/what_are_some_must_reads_for_every_programmer/iz3xv2e/"
    },
    {
      "subreddit": "ExperiencedDevs",
      "excerpt": "> 30 different devs across 5 years in 5 different styles Brace yourself. That’s the standard. But to your question - Working Effectively with Legacy Code. It’s an old code but still very valid. Legacy code is the norm anyway.",
      "score": 295,
      "sentiment": 0.5,
      "published_at": "2025-08-26T12:20:16+00:00",
      "permalink": "https://www.reddit.com/r/ExperiencedDevs/comments/1n0k5cy/how_the_hell_do_you_review_a_big_codebase_without/nar2qwc/"
    }
  ],
  "methodology_url": "https://booksreddit.com/methodology/",
  "limitations": [
    "Mention counts describe the tracked Reddit sample, not every Reddit comment or every reader.",
    "Average sentiment summarizes sampled discussion and is not a star rating.",
    "Editorial consensus, reader fit, and caveats are derived from the existing sourced book synthesis."
  ]
}
