On Mon, Oct 14, 2002 at 07:51:26PM -0500, Chris Josephes wrote: > > I agree that's probably the best way to go about things if I wanted > to change an existing system. But I don't know if that's the path I > want to take. In my case, the code for Text::UberText is already > written.
Let Tw be the time you've already spent writing your module. Tw is a constant, since your module is done being written. Let Tm be the time you will spend maintaining your module once it's released. Tm is unbounded. That is, it will grow until you decide to abandon the module. Let Tr be the time you will spend to refactor your code for inclusion in an existing module. It is usually a constant, since once your code is included into another module, it becomes the responsibility of someone else to maintain. Unless you abandon your code very quickly, the time to maintain your module will be greater than the time to refactor it. Tm > Tr Therefore it will be more work to release and maintain your own module. > To reverse engineer those changes into an existing module would > require more work. In some cases, depending on the module being > re-written, it may leave none of the original module code intact. Let Lw be the lines of code you have written. Let Lr be the lines of redundant code you remove from your module while refactoring it for inclusion in another module. Let Lu be the lines of unique code that remain after refactoring. Lu = Lw - Lr If, as you say, Lu == 0, then it can be proven that your module adds nothing new to the CPAN. If this is the case, how useful is your module? How productive will your time be maintaining it? -- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sf.net