Naming things in Phobos - std.algorithm and writefln
Michel Fortin
michel.fortin at michelf.com
Tue Aug 4 20:05:25 PDT 2009
In std.algorithm, wouldn't it be clearer if "splitter" was called
"splitLazily" or "splitLazy"? "splitter" is a noun, but as a function
shouldn't it be a verb. "makeSplitter" or "toSplitter" perhaps?
And what about the "array" function? Wouldn't it be clearer if it was
"toArray" so we know we're preforming a convertion?
As you know, I tried to write some guidelines[1] for naming things in
D. Those guidelines looks well at first glance, but then you look at
Phobos and you see that half of it use some arbitrary naming rules.
Take "writefln" for instance: following my guidelines (as they are
currently written) it should be renamed to something like
"writeFormattedLine".
[1]: http://prowiki.org/wiki4d/wiki.cgi?DProgrammingGuidelines>
I don't necessarily want to change every function name, but if we want
this document to make sense and Phobos to have some uniformity, both
should be harmonized. Phobos should give the example and follow the
guidelines and the guidelines should match Phobos, otherwise the
guidelines have no weight for developers of other libraries and Phobos
will make life harder to those who want to follow them.
For names we don't want to follow the guidelines, there should be some
documentation explaining what rule they disobey and why.
I could take a look at std.algorithm and other modules in Phobos to
list inconsistencies with the guidelines. From this we could make
improvements both to the guideline document and the API. But before
going too deep I think we should start with a few examples, such as
those above, and see what to do with them.
What does everyone thinks about all this?
--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list