Re: On technical debt
| From: | Daniel O'Connor | Date: | Tue, 05 Oct 2010 15:37:24 +0000 |
| Subject: | Re: On technical debt | ||
| References: | 1 2 3 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-53840@lists.php.net to get a copy of this message | ||
On Fri, Sep 24, 2010 at 3:51 AM, till <till@php.net> wrote:
> On Thu, Sep 23, 2010 at 6:30 PM, Michael Gauthier <mike@silverorange.com>
> wrote:
> > On Mon, 2010-09-20 at 18:47 +0930, Daniel O'Connor wrote:
> >> I know a lot of us know this, but I thought I'd share anyway:
> >> http://petdance.com/perl/technical-debt/
> >>
> >> Looking at pear as a whole; what would people say are the bigger debts
> >> around?
> >>
> >
> > I'd say pearweb and pear packages themselves are have fairly large
> > technical debts. Only a few people understand how pearweb works and it
> > is not documented. The PEAR code itself is confusing and sparsely
> > documented.
> >
>
And worse, all of the unit tests are very fragile for pearweb; relying on
layout :(
I don't think that we'll ever get pearweb to a state we're happy with - it
uses too many different database abstraction layers, templating systems,
etc.
PEAR core; agreed - it's nearly incomprehensible to me when I've gone diving
in. I mean, I can find specific bugs and stomp on them; but often I just
have to stare at code to work out what it's doing.
A lot of it feels needlessly complex, and not exactly self documenting - I
can't get a great feel for the core.
Since the core classes are mainly used only by the installer, a lot of the
design that is in there isn't as thought out at something more generically
used (say, HTTP_Request2).
The best way to resolve that is to write a load of unit test coverage, focus
on mocking things out, etc.
I have no idea of the state of pyrus to say if this holds true for it as
well.