myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manfred Geiler" <manfred.gei...@gmail.com>
Subject Re: [vote] start up the MyFaces Commons project
Date Mon, 29 Oct 2007 09:12:55 GMT
On 10/28/07, Mario Ivankovits <mario@ops.co.at> wrote:
> Hi!
> > 1. Clear separation of API and IMPL (at least on package level, better
> > by separate artifacts).  Mind that the idea behind these commons
> > classes is that many other projects use them - and therefore depend on
> > them. So a clear and stable API is essential.
> >
> I wanted this to be an easy utils project and not yet-another-framework.
> In fact, there might be stuff in there which has an API and an IMPL, but
> this is not necessarily required. Static utils classes wont have an API.
> Shouldn't it be possible to have a stable API even without separating it
> out?

Have a look at http://commons.apache.org/beanutils/apidocs/org/apache/commons/beanutils/BeanUtils.html
for an example how static utils CAN be clearly separated into api and impl.
The static method holders ("Utils" classes) are located in the api
subproject, the default implementation bean would live in the impl src
root.


> > 2. Let's start to name svn folders the same as the artifacts. This
> > seems to be best practice in many other maven projects. And there are
> > good reasons to do this.
> > So, the new project should be located in a folder named like
> > "myfaces-commons" with two sub folders "myfaces-commons-api" and
> > "myfaces-commons-impl".
> >
> I don't like that but wouldn't veto if we think this should be done that
> way, just, remember how this would look like:
>
> /home/im/projects/myfaces12/commons/myfaces-commons/myfaces-commons-api/src/main/java
> /home/im/projects/myfaces12/commons/myfaces-commons/myfaces-commons-impl/src/main/java
>
> I think the middle part is overly redundant.
>

There IS redundant information in the path. Yes. But the reason why
many developers prefer this naming scheme is human not technical.
Human brains are faster in recognizing icons and patterns than
thinking in hierachical structures. Imagine having many expanded
folders in your IDE or Explorer. It's simply faster to scan only the
leaves of your folder tree structure than to scan structurally: "Ok,
here is the folder 'api' - hmm which api? Ah, yes, it's attached to
something called 'commons'. Okaaaay. Hey, it's dangling on that
'myfaces' node. Yippieh, I found the 'myfaces-commons-api' folder!"
Ever wondered why most people like "labelling" their documents (or
emails or bookmarks!) more than file them in hierachical structures? I
admit, I once was a structure fanatic. My bookmarks all lived in deep
folder structures. And I seldom found them again. :-)
GMail, GMarks, Picasa changed my life...

;-)

--Manfred

Mime
View raw message