Improved Phobos dox
Jacob Carlborg
doob at me.com
Sun Sep 15 23:58:31 PDT 2013
On 2013-09-16 06:50, H. S. Teoh wrote:
> What we need is not Yet Another Snake Oil Automagic Trick that will
> somehow magically make it all work. What we need is to sit down and put
> in the time to organize the module docs, grouping the symbols by logical
> categories (which a computer can't really figure out for us, unless we
> tag the code, which requires the same amount of effort anyway). I think
> std.algorithm and std.range's docs are a good model to follow. They set
> the minimum standard all Phobos docs should meet.
>
> Of course, we can also improve on them even more, by figuring out a way
> to prevent the DRY violation currently in std.algorithm (to add a new
> symbol, you now have to add it in 3 places: at the navigation table at
> the top, then in the cheatsheet, then the actual code in the module
> body). Maybe some kind of DDoc tag or UDA that can be collected by a
> postprocessing script that autogenerates the relevant tables based on
> what information is there? For example:
>
> // Note: not actual syntax, I just made this up for illustration
> // purposes:
>
> /**
> * @category: searching
> * @cheatsheet: newHaystack = find(haystack, needle)
> *
> * Finds needle in haystack.
> * ...
> */
> R find(R,S)(R haystack, S needle)
> {
> ...
> }
>
> The postprocessing tool would then collect all the @category tags and
> @cheatsheet tags and assemble a table out of them, linked to the
> relevant symbols, and insert it at the top of the page. (Or, it could
> even split the files up into individual pages, which we've been talking
> about since, oh, last year?)
I think we should try and enhance the documentation generated
automatically. Tagging and doing other things manually doesn't scale.
This should only be used as a last option.
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list