Please vote on std.datetime

klickverbot see at klickverbot.at
Fri Dec 10 11:04:26 PST 2010


On 12/10/10 1:26 AM, Andrei Alexandrescu wrote:
> It's time to vote. Please vote for or against inclusion of datetime into
> Phobos, along with your reasons.

Yes, it'd totally like to see this library in Phobos, but I think that 
we need to be aware of a few issues, mainly caused by the sheer amount 
of source code in a single file/module.

The first one is maintainability – if datetime.d was added to Phobos in 
its current form, about _a quarter of all std.* code_ (LOC-wise) would 
be concentrated _in a single source file_. I know that this has been 
discussed before, and that there is no hard limit on file/module size, 
but in my eyes, 32k lines in a single file are prone to get tedious. 
This probably isn't really a big problem though, since the code is 
relatively low in complexity and furthermore probably does not require 
an exceptionally high amount of maintenance.

In my eyes, a much more important issue is that DDoc is hardly up to the 
task currently. Just open the HTML page from Jonathan's archive and 
imagine being pointed to datetime.html#toLocalTime, and try finding out 
to which entity (class, struct or the module itself) this function 
belongs, then try getting a quick picture of what other functions are 
offered in the same scope, or jumping to the start or end of the docs on it.

A complete discussion would probably belong to a separate DDoc 
improvements thread, but for example, the »jump to« list at the top is 
unnecessarily cluttered by a lot of enum itmes, and what's really 
missing are some aids for navigating on the page, probably also internal 
references like in Doxygen/Javadoc and a way to divide the page into 
several sections (though splitting the module instead would be a better 
choice here, arguably).

Oh, I am not at all trying to argue against the inclusion of datetime 
into Phobos by the way, I just want to point out that it raises a few 
issues we should probably better be aware of.


More information about the Digitalmars-d mailing list