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

Reply via email to