On Thu, Apr 07, 2016 at 04:01:59PM -0500, Derek Martin wrote:
> I mostly agree, but there are points where you have to simply
> acknowledge that what you have does not lend itself to gradual
> improvement, and a rewrite really is necessary.
> 
almost every single sizeable project that chose the route of a (near)
rewrite from scratch died, or the rewrite never took off. it's just not
a reasonable approach. and why would it be? when you find yourself in
this situation, there is always enough competition with a better
codebase. so when you decide that you just can't work with your old code
any more, your best bet is to join/fork your competition.

but then, "it's so bad, we have to rewrite it from scratch" just attests
a lack of imagination ....

> Where I work, some teams have had a "make the smallest useful change"
> policy, justified by a desire to minimize risk while still getting
> things done.
> 
well, that's just stupid.

> Over time, this has led to software that has become extremely fragile
> and nearly impossible to change.
>
of course it has.

kind of reminds me of mutt, actually. ;)

continuous refactoring is a must-have in a project that aims to be
maintainable. asses the architectural requirements of your new feature,
refactor as necessary, _then_ add your feature. books have been written
about this. give your boss one of them.

> > > FWIW related to this:  One thing I've always wanted to see was to
> > > create a uniform API for the UI, and also for mailboxes, so that it
> > > was easier to basically completely replace the UI, and to implement
> > > new mail store types.  If we used console-based widgets for the UI
> > 
> > I believe there was a discussion a while back -- maybe 10 years or so,
> > even -- about building on the mx.c framework to make mailbox drivers
> > more of a thing.  Anyone remember this?
> 
in http://isync.sourceforge.net/ you can see how i actually pulled this
off in a M.E.-originated codebase (though i'll admit that the main
refactoring is a horrible blob - there was no git back then, and i was
young ^^).
generalizing the drivers some more wouldn't be an incredibly big deal
...

Reply via email to