On Mon, 30 Jan 2006, Randy W. Sims wrote:

> >Perhaps I should call it Tournament::RoundRobin::Schedule. Most
> >of the content of the modules in the Games hierarchy have little
> >to do with the content of this module.

> Generally, names are from generic to specific, so it'd be

> Schedule::RoundRobin

>  -or-

> Algorithm::Schedule::RoundRobin

A roundrobin is a system of scheduling used to run tournaments,
so the order, from generic to specific, would be
scheduling::roundrobin, I agree.

But if instead of 'isa' order, we are talking about 'hasa' order,
you could argue that running a roundrobin tournament involves a
number of tasks, one of which is working out who is playing who
in what round, ie scheduling. That is, we have one big task, with
a number of sub-tasks. In which case, it becomes
roundrobin::scheduling, doesn't it?

> But that name can apply to many things, such as process scheduling[1]. 
> 1. <http://en.wikipedia.org/wiki/Scheduling>

Yes, in a computer context, round-robin scheduling has a
different meaning. I can see I have to be careful because the
name could be misleading.

Wikipedia has an article on the derivation of the word
round-robin.
http://en.wikipedia.org/wiki/Round-robin

The article on round-robin tournaments,
http://en.wikipedia.org/wiki/Round-robin_tournament is helpful.

> If the algorithm is not generic enough to apply to anything, it needs 
> more context (when naming: context on left, detail on right):

> Sports::Schedule::RoundRobin

> or similar...

I think I'm going to go with Tournament::Schedule::RoundRobin.
I'm actually using this in a foreign language classroom, where I
want to pair everyone to work with everyone else. That is, it is
not for a real game or sport.

The wikipedia article on the Swiss tournament system makes me
think a Tournament::Schedule::Swiss module might be not too
difficult to write.

But before uploading or registering, I need to compare with how
tournament modules are already named on CPAN:

Games::SGF::Tournament
Tournament statistics generator

Games::Tournament::BlackJack
Framework for Simulating BlackJack Tournaments.

Games::Go::AGATourn
Perl extensions to ease the pain of using AGA tournament data files.

Games::Go::TDFinder
a widget to support preparing Go tournament registration

Algorithm::Evolutionary::Op::TournamentSelect
Tournament  selector,  takes  individuals from one population and puts
them into another

Algorithm::Pair::Best
Perl  module  to select pairings (designed for Go tournaments, but can
be used for anything, really).
 
Do I need to follow the precedent of these modules?

--
Dr Bean, Taiwan


Reply via email to