I can feel your pain. :) For last few years we have been fighting/taming big legacy system written in Perl with a lot of chain of dominoes that you are talking about. But I have to say it's been great learning experience for me.

At the beginning, it took us months to deliver fixes/new functionality and each release was followed by days of fixing things that we broke by that release. Than we had this 'great' idea to do complete rewrites instead. It took us one and half year and resulted in completely new legacy code. There are several articles on web why rewrites are bad idea and now I totally agree with them. http://www.joelonsoftware.com/articles/fog0000000069.html

Fortunately we finally did find way to do it better and now we are able to make big changes across whole system in just few days. A lot of things that made it possible are summarized in Michael Feather's book Working Effectively with Legacy Code.

Because of this legacy experience I now really-really appreciate code that is as simple as possible and is fully covered by tests.


In reply to Re: Legacy Code: "Dominoes = Bad" by maio
in thread Legacy Code: "Dominoes = Bad" by locked_user sundialsvc4

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.