http://www.perlmonks.org?node_id=270199


in reply to How do you avoid "Code Burnout"?

There are two reasons to write code:
  1. For the enjoyment / learning of it. Golfing, for example, or obfus.
  2. To get a job done.
The former, I rip out over and over. They don't matter. The latter - they just need to get the job done. Don't let your very important sense of aesthetics get in the way of the primary reason computers exist - to achieve a goal.

Remember - there are programs written over 30 years ago and untouched since that are critical to keeping capitalism running. Don't believe me? Go ask a mainframe programmer for the US Treasury Department how bonds are issued and the sales kept track of. If you don't believe me that the failure of the US Government to issue bonds in a timely fashion would crash the world economy ... *shrugs* I just wish I had your ... optimism.

That said - if you could engineer in significant new functionality, that is now a case for a rewrite. I did this with PDF::Template. (Yeah, that module I keep promising to release the new version of. Documentation ... my new son. Man, priorities suck.) But, I also made sure that old templates didn't break (much).

Another thought - can you source filter anything and rebuild? If you are making a name change to accomodate new thinking, but the calling signature can remain similar (or transforms in a consistent fashion), you could use regexes and source filters to help ... ?

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.