Legacy code

  • what is it

    • A legacy is the part of the dead that remains influential

    • Code that is old,

    • little/poor test coverage

      • scared to change in case of breaking it

    • worked on by many devs,

    • parts untouched,

    • lack of knowledge of code base and/or domain

    • old/mixed coding styles,

    • work on very little in the present,

    • have to fix bugs or add features once in a while

    • Use of deprecated or old tools/libraries

    • Spend lots of time dealing with upgrading dependencies

    • Particually difficult to fix, enhance or work with

  • Legacy code has come about because we carried the notion that the quality of our code doesnt matter

    • all that matters is just that software does what it is supposed to do

  • Aim is to be able

    • to work with code base,

    • improve it when working on it

      • increase test/regression coverage

      • reduce tech debt - refactor

      • Make it nicer/easier to work with esp if going to spend a long time on it - refactor

      • Easier to add features

      • to find bugs, read and understand code

      • Share knowledge of how it works and business domain

Last updated