mirror of
https://github.com/boostorg/more.git
synced 2025-03-15 11:50:11 +08:00
New introduction and web reference guidelines, by Robert Stewart.
[SVN r53611]
This commit is contained in:
parent
fbb60689b7
commit
8b3b668ec4
@ -90,40 +90,36 @@
|
|||||||
</dl>
|
</dl>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
|
<dt><a href="#web">Web Reference Documentation</a></dt>
|
||||||
|
|
||||||
<dt><a href="#footnotes">Footnotes</a></dt>
|
<dt><a href="#footnotes">Footnotes</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h2><a name="introduction" id="introduction">Introduction</a></h2>
|
<h2><a name="introduction" id="introduction">Introduction</a></h2>
|
||||||
|
|
||||||
<p>Boost itself does not require any specific documentation structure. The
|
<p>Boost does not require any specific documentation structure.
|
||||||
C++ Standard, however, has very explicit requirements for the description
|
However, there are some important considerations that
|
||||||
of library components (Section 17.3). So for Boost libraries likely to be
|
influence content and structure. For example, many Boost
|
||||||
proposed for inclusion in the standard, it is highly desirable to structure
|
libraries wind up being proposed for inclusion in the C++
|
||||||
documentation in a way that meets the requirements of the the standard.
|
Standard, so writing them initially with text suitable for
|
||||||
Doing so eliminates the need to rewrite the documentation for
|
inclusion in the Standard may be helpful. Also, Boost library
|
||||||
standardization.</p>
|
documentation is often accessed via the World Wide Web,
|
||||||
|
including via search engines, so context is often important
|
||||||
|
for every page. Finally, Boost libraries should provide
|
||||||
|
additional documentation, such as introductory, tutorial,
|
||||||
|
example, and rationale content. With those things in mind, we
|
||||||
|
suggest the following guidelines for Boost library
|
||||||
|
documentation.</p>
|
||||||
|
|
||||||
<p>Library developers should remember that for a library to be accepted as
|
<p>The documentation structure required for the standard is an
|
||||||
part of the C++ Standard Library, the proposal must include full wording.
|
effective way to describe the technical specifications for a
|
||||||
The committee will not do that work for you.</p>
|
library. Although terse, that format is familiar to many Boost
|
||||||
|
users and is far more precise than most ad hoc formats. Below
|
||||||
<p>Beyond that, the documentation structure required for the standard is an
|
is a description of the Standard documentation structure. Note
|
||||||
effective way to communicate the technical specifications for a library.
|
that Standard proposals must include full standardese wording,
|
||||||
Although terse, it is already familiar to many Boost users, and is far more
|
which the committee will not do for you, to be accepted. That
|
||||||
precise than most ad hoc documentation structures.</p>
|
level of detail is not expected of Boost library
|
||||||
|
documentation.</p>
|
||||||
<p>The following description is for the structure of documentation required
|
|
||||||
by the standard. Boost libraries should also provided additional
|
|
||||||
documentation, such as introductory, tutorial, example, and rationale
|
|
||||||
material.</p>
|
|
||||||
|
|
||||||
<p>Since the documentation is also intended to act as a web reference, it's a
|
|
||||||
good idea to add some extra information to individual pages, especially
|
|
||||||
detailed reference pages. Full C++ identifiers and required headers are
|
|
||||||
especially useful and often overlooked. Remember that individual pages might
|
|
||||||
be accessed directly from a search engine or link, so readers won't have seen
|
|
||||||
information from previous pages. In reference pages, it can be helpful to link
|
|
||||||
to relevant tutorial information.</p>
|
|
||||||
|
|
||||||
<h2><a name="standards-conforming" id="standards-conforming">Standards
|
<h2><a name="standards-conforming" id="standards-conforming">Standards
|
||||||
Conforming</a> Documentation</h2>
|
Conforming</a> Documentation</h2>
|
||||||
@ -398,6 +394,30 @@ void resize(size_type n, charT c);
|
|||||||
give users a lot of insight into why a library is designed the way it is.
|
give users a lot of insight into why a library is designed the way it is.
|
||||||
More importantly, it can help prevent "fixing" something that wasn't really
|
More importantly, it can help prevent "fixing" something that wasn't really
|
||||||
broken as the library matures.</p>
|
broken as the library matures.</p>
|
||||||
|
|
||||||
|
<h2 id="web">Web Reference Documentation</h2>
|
||||||
|
|
||||||
|
<p>Boost library documentation is often accessed via the World
|
||||||
|
Web. Using search engines, a page deep in the reference
|
||||||
|
content could be viewed without any further context.
|
||||||
|
Therefore, it is helpful to add extra context, such as the
|
||||||
|
following, to each page:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Describe the enclosing namespace or use fully scoped
|
||||||
|
identifiers.
|
||||||
|
<li>Document required headers for each type or function.
|
||||||
|
<li>Link to relevant tutorial information.
|
||||||
|
<li>Link to related example code.
|
||||||
|
<li>Include the library name.
|
||||||
|
<li>Include navigation elements to the beginning of the
|
||||||
|
documentation.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>It is also useful to consider the effectiveness of a
|
||||||
|
description in search engines. Terse or cryptic descriptions
|
||||||
|
are less likely to help the curious find a relevant function
|
||||||
|
or type.</p>
|
||||||
|
|
||||||
<h2><a name="footnotes" id="footnotes">Footnotes</a></h2>
|
<h2><a name="footnotes" id="footnotes">Footnotes</a></h2>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user