Eric Wilhelm writes:
> use My::Really::Long::Module::Name;
> my $obj = My::Really::Long::Module::Name->new();
>
> ... is just _almost_ tedious enough to warrant copy/paste, but not
> quite.
A decent editor should provide some sort of completion facility on
previously typed terms, so that you don't have to retype them.
For example in Vim having first typed:
use My::Really::Long::Module::Name;
you can then type:
my $obj = M
Pressing Ctrl+P ("P" for "previous"; you can guess what the keystroke
for "next" is) completes this, incorrectly, to:
my $obj = Module
But simply keep Ctrl pressed and tap P a second time and you get:
my $obj = My
And from there press Ctrl+X Ctrl+P to type the word following the one
you've just completed, giving:
my $obj = My::Really
Do that a few more times and you've got the whole name:
my $obj = My::Really::Long::Module::Name
That sounds tedious when written down like this, but basically it just
involves holding down Ctrl and pressing P and X a few times.
I believe that Emacs has an equivalent feature, and I'm sure I've seen
some kind of tooltip completion feature on a gui Windows editor.
Picking a decent editor and learning how to use it well is far better
than trying to use unnaturally short identifiers throughout your code!
> That said, I would much rather see all file-format parsing/writing
> modules go under FileFormat:: than Parse::.
But why group them under either? Why group them at all?
> IMO, a distribution shouldn't have to break out of a single root.
> Starting with Parse, Info, ... means you're stuck (maybe just stuck
> looking silly, but still stuck.)
That's along the same lines of why I'd prefer CAD::, Graphics::,
Video::, and whatever -- cos those are the sorts of modules that work
together (even if only some of them are to do with file-types), rather
than all the modules dealing with file-types.
Smylers
--
May God bless us with enough foolishness to believe that we can make a
difference in this world, so that we can do what others claim cannot be done.