From: Stefan Hajnoczi <stefanha@redhat.com>
To: Xuebing wang <xbing6@gmail.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
qemu-devel@nongnu.org, afaerber@suse.de, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [Discussion 01/10] docs: add docs/api-hierarchy.txt
Date: Tue, 4 Mar 2014 12:57:45 +0100 [thread overview]
Message-ID: <20140304115745.GA29749@stefanha-thinkpad.redhat.com> (raw)
In-Reply-To: <5315A3B5.4040805@gmail.com>
On Tue, Mar 04, 2014 at 05:58:13PM +0800, Xuebing wang wrote:
>
> On 03/04/2014 05:42 PM, Stefan Hajnoczi wrote:
> >On Tue, Mar 04, 2014 at 10:47:21AM +0800, Xuebing Wang wrote:
> >>Signed-off-by: Xuebing Wang <xbing6@gmail.com>
> >>---
> >> docs/api-hierarchy.txt | 93 ++++++++++++++++++++++++++++++++++++++++++++++++
> >> 1 file changed, 93 insertions(+)
> >> create mode 100644 docs/api-hierarchy.txt
> >This type of documentation gets outdated really quickly. I'm not sure
> >it should be merged.
> >
> >Documenting the various APIs as doc comments in the code would have a
> >better chance of staying up-to-date.
> >
>
> Thanks. But, doc comments in the code don't show the hierarchy and
> their dependencies (or inheriting relationship).
>
> Any idea how to draw the hierarchy to show the big picture of the
> APIs (as a high-level API design doc)? :-)
We do have high-level documentation for specific modules. For example,
see include/qom/object.h. It documents more than just individual
functions. So if you want to find out about QEMU Object Model, then
object.h has the documentation you need to get the big picture *and*
understand the APIs.
The relationships between modules are a different issue. I don't think
it's worth trying to document them because they will get out of date.
What's worse than no documentation? Incorrect documentation.
QEMU does not have a stable API, things can change at any time. This
has many benefits but also the drawback that documentation gets outdated
quickly. I don't think it's a good idea to give the impression that
things are stable when they are not.
In other words, module-level documentation is good but high-level API
design doesn't exist because we don't have a stable API.
next prev parent reply other threads:[~2014-03-04 11:58 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-04 2:47 [Qemu-devel] [Discussion 00/10] about API hierarchy Xuebing Wang
2014-03-04 2:47 ` [Qemu-devel] [Discussion 01/10] docs: add docs/api-hierarchy.txt Xuebing Wang
2014-03-04 9:42 ` Stefan Hajnoczi
2014-03-04 9:58 ` Xuebing wang
2014-03-04 11:57 ` Stefan Hajnoczi [this message]
2014-03-04 2:47 ` [Qemu-devel] [Discussion 02/10] NEED_CPU_H: remove '#include "cpu.h"' from include/qemu-common.h Xuebing Wang
2014-03-04 10:19 ` Paolo Bonzini
2014-03-04 11:54 ` Xuebing wang
2014-03-04 12:02 ` Xuebing wang
2014-03-04 12:09 ` Paolo Bonzini
2014-03-04 12:09 ` Xuebing wang
2014-03-04 12:34 ` Peter Maydell
2014-03-04 12:40 ` Xuebing wang
2014-03-04 12:19 ` Xuebing wang
2014-03-04 12:23 ` Paolo Bonzini
2014-03-04 12:26 ` Xuebing wang
2014-03-04 12:29 ` Paolo Bonzini
2014-03-04 2:47 ` [Qemu-devel] [Discussion 03/10] NEED_CPU_H: remove unnecessary use of NEED_CPU_H Xuebing Wang
2014-03-04 10:20 ` Paolo Bonzini
2014-03-04 2:47 ` [Qemu-devel] [Discussion 04/10] memory_mapping: make this architecture-independent Xuebing Wang
2014-03-04 10:22 ` Paolo Bonzini
2014-03-04 11:05 ` Peter Maydell
2014-03-04 2:47 ` [Qemu-devel] [Discussion 05/10] NEED_CPU_H: remove unnecessary inclusion of "cpu.h" in root Xuebing Wang
2014-03-04 10:24 ` Paolo Bonzini
2014-03-04 2:47 ` [Qemu-devel] [Discussion 06/10] memory: move contents in include/exec/address-spaces.h => memory.h Xuebing Wang
2014-03-04 10:26 ` Paolo Bonzini
2014-03-04 2:47 ` [Qemu-devel] [Discussion 07/10] memory: remove file include/exec/address-spaces.h Xuebing Wang
2014-03-04 2:47 ` [Qemu-devel] [Discussion 08/10] exec: move TranslationBlock API from exec-all.h => translate.h Xuebing Wang
2014-03-04 10:27 ` Paolo Bonzini
2014-03-04 2:47 ` [Qemu-devel] [Discussion 09/10] exec: remove the unnecessary include of "exec-all.h" Xuebing Wang
2014-03-04 10:27 ` Paolo Bonzini
2014-03-04 11:11 ` Peter Maydell
2014-03-04 11:16 ` Peter Maydell
2014-03-04 2:47 ` [Qemu-devel] [Discussion 10/10] translate: remove file translate-all.h Xuebing Wang
2014-03-04 10:29 ` Paolo Bonzini
2014-03-04 3:45 ` [Qemu-devel] [Discussion 00/10] about API hierarchy Andreas Färber
2014-03-04 5:37 ` Xuebing wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140304115745.GA29749@stefanha-thinkpad.redhat.com \
--to=stefanha@redhat.com \
--cc=afaerber@suse.de \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=xbing6@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).