# from David Landgren
# on Friday 02 December 2005 08:25 am:
>In about 10 days time, I'm going to forget utterly that FF means File
>Formats. Does it need to be so terse?
Considering the number of file formats which currently have toplevel
names, FF:: isn't that terse. Besides, search results should mean that
you _don't have to remember_ what FF means.
SVG
HTML
XML
PostScript (yeah, I know, let's pretend it's a "format")
PDF
Pdf (heh)
CSV
POD
ABI
CSS
GFL
VRML
YAML
File::Format::RIFF is of course misplaced if you consider what other
File:: modules do (typically fs queries/manipulation) and what
File::Format might do given the use of formats in printf (and/or what
the dos "format" command does :-)
Then there is the issue of tucking them away under whatever toplevel
namespace holds the domain with which that file format is associated
such as
Geo::GDAL
Text::xSV
Graphics::MNG
Image::PNGwriter
Apache::ConfigFile
In some of these cases, putting the module under a namespace of related
tools makes sense, but the problem is that the above two models are the
only thing that new authors have as examples. Either you blaze a trail
to a new TLNS or hide under an existing <mumble> (which may or may not
be completely unrelated to the file format.)
>Tossing out another suggestion with this in mind: Parse::File::FLV
But then we end up with Write::File::FLV ? Consider a distribution
which reads and writes a given binary format (I'll call it GBF.)
You want a parser, a writer, maybe a DOM, and/or a bit juggler, and
you'll definitely need some constants and of course someone will
eventually come along and write a ::Simple version. If we're going to
use Parse::, then I'll assume that writers live in Write:: (since
parsers are parsers, right?)
Parse::File::GBF - Front end to GBF read/write interface
Parse::File::GBF::Parser
Parse::File::GBF::Bytes
Parse::File::GBF::DOM
Parse::File::GBF::Constants
Parse::File::GBF::Simple
Write::File::GBF - just a directory under this model
Write::File::GBF::Simple
Write::File::GBF::Stream
But notice that Write::File::GBF probably requires
Parse::File::GBF::Constants, etc. It's rather unsettling.
Now consider the more comprehensible, discoverable single tree under
FF::
FF::GBF - Front end to GBF read/write interface
FF::GBF::Parser
FF::GBF::Bytes
FF::GBF::DOM
FF::GBF::Constants
FF::GBF::Writer
FF::GBF::Simple
FF::GBF::Writer::Stream
Does that sound better?
--Eric
--
"It is impossible to make anything foolproof because fools are so
ingenious."
--Murphy's Second Corollary
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------
|
Try Searching:
servers, voip, java, networking, microsoft ...
|
|
|
|