Years ago, I did an article for Ed Yourdon's "American Programmer" in the code-reuse issue. I always took the contrary point of view, so I did "the case for starting over". Talking to managers not engineers, I tried to describe the aging process of software and say what to look for that makes maintanence difficult and likely to introduce errors.
"If it ain't broke don't fix it" Well, why are you working on it at all? Adding new features, presumably. A messy program will be hard to extend and this may introduce problems. So if the code is OK (it works), it's still not extensible and doesn't take into account new requirements (or maintainability as a meta-requirement).
So explain that you'll change the overall architecture to accomidate new features, but you'll copy the individual functions (or the algorithm part, if you're adding arguments and making them members, but the keep it simple for the boss) over from the original work, and reviewing each as you go.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||