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 Working effectively with legacy code

    Working effectively with legacy code

    Michael C. Feathers · 2004

    Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his own renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

    Software EngineeringProgramming
    Open LibraryAmazon
    Stats for nerds
    186recommend
    315mentions
    234people
    2008–2026years
    76% recommend24% neutral1% critical

    Mentions per year

    2008201020122014201620182020202220242026

    What Hacker News says

    1. rsanheimAug 2026
      "seam" dates back to refactoring & software engineering literature that pre-date LLM use by 20 years -- see Working Effectively With Legacy Code for one example (https://www.oreilly.com/library/view/working-effectively-wit...). Its a great book, still use techniques from it everyday.

      "load-bearing" I have never heard used for programming before Opus, and its incredibly annoying and over-used.

      thread
    2. voiceofunreasonApr 2026
      My recommendation: you should probably start from _Working Effectively with Legacy Code_ by Michael Feathers.

      The best "let's do something not trivial" TDD book is probably still _Growing Object Oriented Software, Guided by Tests_ by Steve Freeman and Nat Pryce.

      Most of the "more than the basics" topics are the same kinds of practices that were considered "good design" whether you were using TDD or not. For example, Parnas 1971, Berard 1993, John Carmack 1998 ("Time is an input...."), and so on.

      If you are interested in more than the basics on TDD, the right starting point is _Test Driven Development by Example_ by Kent Beck, which while a bit thin on examples actually covers a nice variety of more advanced topics (although not in great depth). If you are going this route, you should pair that with Beck's 2023 essay "Canon TDD".

      thread
    3. hikarudoApr 2026
      > Once you reach this stage, the only escape is to first cover everything with tests and then meticulously fix bugs

      The exact same approach is recommended in the book "Working effectively with legacy code" by Michael Feathers, with several techniques on how to do it. He describes legacy code as 'code with no tests'.

      thread
    4. yomismoaquiMar 2026
      I recommend reading a classic, "Working Effectively With Legacy Code" from Michael Feathers.
      thread
    5. 0xbadcafebeeMar 2026
      I believe this is called Microsoft Driven Development

      (seriously though, this book has answers for you: Working Effectively with Legacy Code, by Michael Feathers)

      thread
    6. deterministicMar 2026
      I highly recommend the book "Working Effectively with Legacy Code" (Michael Feathers).

      It is the best step by step guide I have ever seen to successfully work with legacy code.

      Written by somebody who has been there done that many many times.

      thread

    Related

    Cover of Clean Code
    2008–2026

    Clean Code

    Robert C. Martin
    298 recommend · 951
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of Refactoring
    2007–2026

    Refactoring

    Martin Fowler
    94 recommend · 179
    Cover of The clean coder
    2010–2025

    The clean coder

    Robert C. Martin
    53 recommend · 95
    Cover of Advanced programming in the Unix environment
    2008–2025

    Advanced programming in the Unix environment

    W. Richard Stevens
    100 recommend · 153
    Cover of Domain-Driven Design
    2007–2026

    Domain-Driven Design

    Eric Evans
    104 recommend · 252
    Cover of The Pragmatic Programmer
    2007–2026

    The Pragmatic Programmer

    Andy Hunt
    353 recommend · 700
    Cover of The Practice of Programming
    2007–2026

    The Practice of Programming

    Brian W. Kernighan
    90 recommend · 184