pozorvlak (pozorvlak) wrote,

PSA: Working Effectively With Legacy Code by Michael Feathers

I am only about a hundred pages into this book, but it had paid for itself after fifty. I wish I'd read it ten years ago. Actually, I wish I'd read it nineteen years ago when I started my first programming job, but it hadn't been written then. Techies, if you haven't read it, I strongly advise you to do so at your earliest convenience. It's about how to deal with a Catch-22 that's come up over and over again in my programming career:
  • I can't safely modify, or even understand, this code, because it has no tests.
  • I can't test it without modifying it.
Feathers describes techniques for bringing code under test with the minimal amount of disruption, then refactoring it towards maintainability. Some of the advice I'd worked out for myself, but having names and a structure to hang ad-hoc insights on is great. The book concentrates on object-oriented and procedural languages, but a lot of the techniques should generalise to other paradigms.

Check out this book on Goodreads: https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code

Working Effectively with Legacy Code by Michael Feathers

This entry was originally posted at https://pozorvlak.dreamwidth.org/181129.html. Please comment wherever and however is most convenient for you!
Tags: beware the geek, books, computers, programming

  • Srelipmoc ni esruoc tsrif a

    If I ever design a first course in compilers, I'll do it backwards: we'll start with code generation, move on to static analysis, then parse a token…

  • Commuting

    Quaffing the last of my quickening cup, I chuck fair Josie, my predatory protégée, behind her ear. Into my knapsack I place fell Destruction, my…

  • HiPEAC 2013 Berlin HLCGB

    [Wherein we review an academic conference in the High/Low/Crush/Goal/Bane format used for reviewing juggling conventions on rec.juggling.] High:…

  • Post a new comment


    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.