[wp-hackers] Bug Rot
wordpress at santosj.name
Sun Dec 9 04:08:02 GMT 2007
Well, on second thought, this really should be posted to WP-Testers to
test whether the bugs still exist, but a lot of the bugs need patches.
Going over the bugs, it appears that some of them are for features that
will probably never become part of WordPress or have been opened for so
long that it is a wonder if anyone cares.
WordPress 2.4 has 589 opened tickets (at the moment), WordPress 2.5 has
135, with a total of 724 tickets. There should not be a wonder why some
people have asked that there be a release of just bug fixes. While it
would be a good idea, it really should not happen because end users care
not and would be unmotivated to upgrade for what would seem to be
trivial. "Come download, this release has over 400 closed tickets."
Over the history, 2.1 closed the most tickets with 469. 2.2 had 240
tickets, finally 2.3.0 had 351. 2.4 is due in two months and currently
only has 89 tickets closed. It might be possible, but since most of the
bugs are of general and administration nature, it might be safe to say
that with the new administration theme/panel some of the bugs might be
able to be closed out. Then again perhaps not.
The point I'm trying to make, is if a bug is open for over 6 months
without any traction, what does this mean? As the unit tests grow and
documentation improves, it can be safe to say that a lot of the bugs
will be found and smashed before it gets out there in the wild. However,
with any new code (taxonomy, improvements to plugin api), there are
bound to be obscure issues that will come up only through manual
testing, and even then it might be difficult to reproduce those bugs.
The problem then is how do you know you are reproducing it correctly?
Should I go with what I see and decide it isn't an issue and wait for
the reporter to reopen?
Ah, but it might be a while before the entirely of WordPress is Unit
Tested, how many people care? If you love to code, then unit testing
would be heaven. Think about it. What more fun can you get out of coding
than writing code that tests code! Eh. I fall victim myself, should I
write unit tests or no? Well, WordPress doesn't require it and it is
really adds about 20 to an hour more. Plus, hell what if you find a
mistake, you have to go back and fix your code and who wants all that
It would be nice if every bug had a patch, but looking through the bugs,
not many of them are sexy. XML-RPC, no thank you, I choose torture
instead. Plus, have you seen the library? No way I'm touching that, it
looks sexy, but XML-RPC is way over my head. Alternatives are PHP 5
only, so unlikely to be accepted by the powers that be.
In any event, it completely sucks to spend the time to write a patch and
then have it rejected. I would very much rather not use Globals, but
Registry Pattern. Andy (I apologize for the asshole-ness of my sarcastic
response, I failed to realize the context of what you meant with
"April"... I'm a dumbass), if the goal is to not use globals but a layer
in between, then I'm all for it, hell I would totally help write that
code in a heartbeat. It is sexy, the Registry Pattern I mean, and sexy
like Unit Testing. What would make it even better, is if the API was
developed using TDD!
While having a registry pattern API might help in CMS development, the
additional layer between your variables and your code would add
additional overhead. I understand why others wouldn't want it,
additional complexity, additional overhead, additional work between
variables and your code, and lack of language support (nothing quite
beats <?php global $var_name; ?>. However, if you think about some of
the variable names that WordPress uses, it can be easy to think how when
other programs are introduced, how one of those programs might also use
one of those generic termed variables.
I'll stop there. What I mean to say is that, with some of the tickets
are feature requests that either have no work associated with them or
work that will never be accepted. So either you run the risk of
producing a ticket that might be extremely useful and have the author
become uninterested with supplying a patch, or you have an idea with a
patch that no one (except a (few) minor player(s) that don't matter
anyway, re: no commit access and those people's opinion don't matter.
Sad but true.)
That is entirely frustrating, because my time is valuable and I very
much hate for my time to be wasted. Not valuable in the sense that I'm
paid a lot for being a programmer (I'm not, but I'm more happy to have
the title of "Web Developer" than making money), but valuable in that I
have to choose between one project or the other. If I choose one
project, then I can't do the other project. So I mean, I might have to
apologize to Travis too, because that guy is right very often too.
In that case, it makes sense that you'll want the community to be nice
to each other. Even through, I don't matter, if I make it not fun for
another person, then that other person is unlikely to create a patch and
provide a very good solution. That would be a shame, if not from the
perspective of the user who enjoys improved stability, then for the
missed opportunity to learn from another. The most important thing is to
learn and one of the most enjoyable part of the WordPress community are
the intelligent programmers and how much I've learned from the patches
and those that wrote WordPress documentation.
Yeah, it would be nice if some of the older tickets had more recent
relevance to them.
http://www.santosj.name - blog
http://wordpress.svn.dragonu.net/unittest/ - unofficial WP unit test suite.
Also known as darkdragon and santosj on WP trac.
More information about the wp-hackers