Agile FAQs
  About   Slides   Home  

 
Managed Chaos
Naresh Jain’s Random Thoughts on Software Development and Adventure Sports
     
`
 
Discovering...
Industrial Logic

Microblog Feed
    Previous Feeds...
    Recent Thoughts

    Recent Comments
    Categories
    Archives
    September 2009
    M T W T F S S
    « Aug   Oct »
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
    RSS Feed
    Add to Technorati Favorites

    Redefining Legacy Code

    Michael Feathers did a great job by redefining legacy code to: “Code without Tests”.

    Over the years, I’ve dealt with code which had tests (unit, functional or both). Some of it was even test driven. But it was extremely difficult to understand and maintain the code. The code-base exhibited the same problems as Legacy code.

    What does this mean? IMHO, it means we need to broaden our definition of Legacy Code.

    Legacy code is code that developers fear facing. Legacy code does not communicate its intent and has a very convoluted design. It is code with high viscosity which encourages sloppy job by the developers and makes it extremely difficult for them to do the right thing. Abundance of Code Smells, lack of Tests, long feedback cycles, unpredictability, etc : all of these are contributing factors.

    • Share/Bookmark
    • Pattern-chaser
      Legacy code is old code. Not all old code is bad code. Bad code is bad code. Be clear.
    blog comments powered by Disqus
        Licensed under
    Creative Commons License
    Design by vikivix