D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 3161 - Ddoc should produce much better documentation
Summary: Ddoc should produce much better documentation
Status: RESOLVED INVALID
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All All
: P3 enhancement
Assignee: No Owner
URL:
Keywords: ddoc
Depends on:
Blocks:
 
Reported: 2009-07-10 06:08 UTC by Ary Borenszweig
Modified: 2015-06-09 05:14 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Ary Borenszweig 2009-07-10 06:08:30 UTC
Currently the documentation produced by ddoc is poor. It lacks many of the features modern documetantion systems like the ones of Java and C# provide. Some of these are:

1. Links to referenced symbols.
2. Supertype hierarchy of a class.
3. Direct known subclasses of a class.
4. Direct known subinterfaces of an interface.
5. All interfaces implemented by a class.
6. All classes that implement an interface.
7. Show documentation for symbols generated by mixins.
8. List of inherited methods.
9. Public imports exposed by a module.

If "1" is not present, the phrase "navigating the documentation" just doesn't make sense.

2, 3, 4 and 5 allows you to quickly find a class that implements the functionality you are looking for. Otherwise it's impossible to (easily) search for implementations. Suppose you have an InputStream interface (like in Tango). This would allow you to find a specific InputStream for your needs (for example, where's the input stream to read a file, a socket, a string, etc.).

9 is also important because otherwise you have to look at the source code.

The other points are also important for me, because it gives you a better overview of the symbols.

You can see an example of a documentation that works like this here:

phobos: http://downloads.dsource.org/projects/descent/ddoc/phobos/
Tango: http://downloads.dsource.org/projects/descent/ddoc/tango/
Comment 1 Stewart Gordon 2012-03-11 10:15:05 UTC
Each requested improvement needs to be a separate bug report.

Something objectively defined, such as "make Ddoc able to do everything Javadoc/Doxygen can do", might be worthy of a tracker issue.  But a vague request like "produce much better documentation", even with a list of possible improvements in the description, isn't.