cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Stimmel <>
Subject Re: [cocoon 2] removing bottenecks
Date Tue, 23 May 2000 23:32:35 GMT
On Mon, May 22, 2000 at 11:03:21PM -0400, Donald Ball wrote:

> In what sense do you find cocoon2 disorganized? terribly documented, i
> grant you, but i find the infrastructure to be quite clean and reliable,
> and it's very easy to develop new components once you know what interfaces
> are good for what.

I didn't mean to imply that cocoon2 is disorganized; I do see the
overall organization. When I look more closely, it seems to lose
some of its clarity.  To use (poor) analogy, it's like looking at
a tangle of string: I know that if I pull out the right pieces
(simplify the design), I'll end up with a set of classes that flow
together so simply that you almost don't need documentation (not
to say that I think we shouldn't be writing javadocs ;)

Let me give a specific example. arch/config/ contains: (an interface) (an abstract class)
I honestly don't see the need for both an interface and an abstract
base class; it only serves to increase the complexity and maintenance
overhead. I mentioned this and another exampl in my comments on
DirectoryGenerator (separate thread).

In all fairness, I am fairly detail-oriented, and I am probably
going over this with a more critical eye than is really necessary.
I also feel that lack of documentation is a large part of the problem;
if classes explained why they existed - even if only briefly - I
wouldn't have to spend so much time "reinventing the thought process".
Some of what I'm seeing is also not necessarily cocoon's fault (inherent
in using SAX, for example).

> if you want a good mini project, that might be a good place to start -
> document the major interfaces and classes in the cocoon2 package.

Not a bad idea (didn't someone already start working on this?),
and I will try to do some work towards this end. Of course, I
can't document something well unless I understand how (and why)
it works the way it does.

View raw message