On Mon, November 25, 2013 5:27 am, Aristotle Pagaltzis wrote: > Hi Philippe, > > there are two issues causing a problem with naming for this module: > > 1. very specific form of input required/expected (hash of weights) > 2. tightly bound to a DSL as its API > > If you want to be descriptive then you simply cannot give a module like > this a terribly generic name. To cover (2), you need ::Rules. To cover > (1), you basically need to name all aspects: takes a hash, specifically > one where the values are weights, and reduces it to a single value. So > I ended up with > > Hash::Reduce::Weighted::Rules > > Itâs a mouthful but seems necessary to accurately summarize the module. > None of the names that omit any of these components felt satisfactory: > whichever one you take out, the shorter name seems to describe a very > different module. >
I can't disagree much, but I find that returning to my suggestion of "GroupBy" works well with: Hash::GroupBy::Weighted since GroupBy implies Rules. For what it's worth. -john