Hi all,
I had installed the Headway Software Structure 101 (
http://www.headwaysoftware.com) plugin for IntelliJ earlier today and took a
look at Terracotta's architecture out of curiosity.  I was able to
investigate the codebase using only the data they had in their repository,
and it pointed out a few places where classes could be moved into different
packages.  I think it identified about 650+ "violations", but I don't know
how much weight you would want to give them.  They also have an Eclipse
plugin, and the setup instructions are pretty easy.  The repository that
holds Terracotta's architectural analysis is
http://www.structure101.com/java/data

Hope this helps. :-)

Cheers,
Jim

On Feb 12, 2008 5:21 PM, Steven Harris <[EMAIL PROTECTED]> wrote:

> What does jmx utils have to do with split hashmap? Why would they be
> packaged together?
>
> On Feb 12, 2008, at 3:19 PM, Alex Miller wrote:
>
> > I'd vote for the balanced set #2.
> >
> > ----- Original Message -----
> > From: "Taylor Gautier" <[EMAIL PROTECTED]>
> > To: "Jonas Bonér" <[EMAIL PROTECTED]>, "Geert Bevin" <
> [EMAIL PROTECTED]
> > >, "Alex Miller" <[EMAIL PROTECTED]>, "Kunal Bhasin" <
> [EMAIL PROTECTED]
> > >, "Juris Galang" <[EMAIL PROTECTED]>, "Jason Voegele" <
> [EMAIL PROTECTED]
> > >, [email protected], [EMAIL PROTECTED]
> > Sent: Tuesday, February 12, 2008 4:54:56 PM (GMT-0600) America/Chicago
> > Subject: Code layout
> >
> >
> > There have been a number of utility like and pattern like
> > implementations going into forge/labs. I have been thinking about
> > how best to organize these things. Here's my thinking to date, I'm
> > open to suggestions or just voting for one of the options below.
> >
> > At the moment I know of:
> >
> >
> >
> >    • ResourceManager - a pair of classes that level a shared
> > resource across a cluster (relies on JMX util)
> >    • Pipes/Channels - refactoring of the pipe/channel idea in m/w
> >    • Master/Worker - work load balancer
> >    • JMX Util - JMX event util classes
> >    • Annotations - annotations
> >    • SplitHashMap - rough equivalent of concurrenthashmap
> >    • TimeSeriesMap - to expire items in a map based on time entries
> > So, I am not sure, I can argue a few different layouts:
> >
> > 1) All in one package. On the one extreme, this makes using any TC
> > based util class (or pattern) really easy. Until there is too much
> > in one package, this what I prefer, except it tends to have version
> > creep that doesn't correspond to relevant features - in other words
> > a developer uses it only for JMX, but the version bumps because of a
> > fix for annotations
> >
> > 2) A Balanced set of packages. I would propose
> >
> >
> >    • tc-util - contains pipe/channel, resourcemanager, jmxutil,
> > splithashmap, timeseriesmap
> >    • annotations - annotations only
> >    • master/woker - m/w only, but needs tc-util for both pipe/
> > channel and jmx
> >
> > 3) Lots of little packages - basically everything in its own
> > package. This is my least favorite option.
> >
> >
> >
> > Thoughts?
> >
> > _______________________________________________
> > tc-dev mailing list
> > [email protected]
> > http://lists.terracotta.org/mailman/listinfo/tc-dev
>
> _______________________________________________
> tc-dev mailing list
> [email protected]
> http://lists.terracotta.org/mailman/listinfo/tc-dev
>
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to