All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: John Snow <jsnow@redhat.com>
Cc: qemu-devel@nongnu.org,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Hanna Reitz" <hreitz@redhat.com>, "Peter Xu" <peterx@redhat.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Ani Sinha" <anisinha@redhat.com>,
	"Michael Tokarev" <mjt@tls.msk.ru>,
	"Lukas Straub" <lukasstraub2@web.de>,
	"Fabiano Rosas" <farosas@suse.de>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
	qemu-trivial@nongnu.org, "Jason Wang" <jasowang@redhat.com>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Vladimir Sementsov-Ogievskiy" <vsementsov@yandex-team.ru>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Laurent Vivier" <laurent@vivier.eu>,
	"Yanan Wang" <wangyanan55@huawei.com>,
	"Zhao Liu" <zhao1.liu@intel.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Kevin Wolf" <kwolf@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-block@nongnu.org, "Zhenwei Pi" <pizhenwei@bytedance.com>,
	"Mads Ynddal" <mads@ynddal.dk>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Michael Roth" <michael.roth@amd.com>,
	"Eric Blake" <eblake@redhat.com>, "Jiri Pirko" <jiri@resnulli.us>
Subject: Re: [PATCH 3/4] qapi: remove trivial "Returns:" sections
Date: Tue, 25 Mar 2025 10:42:13 +0100	[thread overview]
Message-ID: <87bjtpmop6.fsf@pond.sub.org> (raw)
In-Reply-To: <20250322010857.309490-4-jsnow@redhat.com> (John Snow's message of "Fri, 21 Mar 2025 21:08:56 -0400")

John Snow <jsnow@redhat.com> writes:

> The new qapidoc transmogrifier can generate "Returns" statements with
> type information just fine, so we can remove it from the source where it
> doesn't add anything particularly novel or helpful and just repeats the
> type info.
>
> This patch does not touch Returns: lines that add some information
> (potentially helpful, potentially not) but repeats the type information
> to remove that type.
>
> Signed-off-by: John Snow <jsnow@redhat.com>

This is a clear improvement for the generated docs.  For instance,
blockdev-snapshot-delete-internal-sync goes from

    Return:
       "SnapshotInfo" -- SnapshotInfo

to

    Return:
       "SnapshotInfo"

However, I see that *triplicated* in my testing.  I observed similar
issues with the previous patch, so let's discuss that there and ignore
it here.

The impact on schema file egonomics is less clear.

This patch removes a bunch of "Returns:" sections that make the
generated docs look bad.  How can we stop people from writing such
sections?

Developers tend to refer to the schema file instead of the generated
documentation.  Information is spread across doc comment and schema
code.  Both describe the syntactic structure.  Only the schema code has
types, optional, and such.  The doc comment describes semantics.  In
practice, skimming the doc comment is often enough.

Except for the return value.  The doc comment's "Returns:" section is
optional.  When it's absent, the generated docs are bad (but this patch
fixes that).  Moreover, the doc comment doesn't fully describe the
syntactic structure then.  Unwary readers may not be aware of that trap,
and miss the return value.

The inliner you posted before needs to know where the inlined stuff
goes.  Obvious when there are argument descriptions or a "Returns:".
For the cases where we have nothing useful, you proposed an explicit
marker "Details:" (how exactly it's spelled doesn't matter here, only
that an explicit marker can be necessary).  Could removing "Returns:"
make the marker necessary more often?  Can our tooling reliably detect
the need for the marker?



  reply	other threads:[~2025-03-25  9:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-22  1:08 [PATCH 0/4] qapi: add auto-generated return docs John Snow
2025-03-22  1:08 ` [PATCH 1/4] docs/qapi-domain: add return-nodesc John Snow
2025-03-22  1:08 ` [PATCH 2/4] docs, qapi: generate undocumented return sections John Snow
2025-03-25  8:54   ` Markus Armbruster
2025-03-25 18:13     ` John Snow
2025-03-25  9:41   ` Markus Armbruster
2025-03-25 17:47     ` John Snow
2025-03-26 16:30       ` John Snow
2025-03-27  7:53         ` Markus Armbruster
2025-03-22  1:08 ` [PATCH 3/4] qapi: remove trivial "Returns:" sections John Snow
2025-03-25  9:42   ` Markus Armbruster [this message]
2025-03-26 19:46     ` John Snow
2025-03-27  7:27       ` Markus Armbruster
2025-03-22  1:08 ` [PATCH 4/4] qapi: rephrase return docs to avoid type name John Snow

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=87bjtpmop6.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=anisinha@redhat.com \
    --cc=arei.gonglei@huawei.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=farosas@suse.de \
    --cc=hreitz@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=jsnow@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=lukasstraub2@web.de \
    --cc=mads@ynddal.dk \
    --cc=marcandre.lureau@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=michael.roth@amd.com \
    --cc=mjt@tls.msk.ru \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=philmd@linaro.org \
    --cc=pizhenwei@bytedance.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=stefanb@linux.vnet.ibm.com \
    --cc=stefanha@redhat.com \
    --cc=vsementsov@yandex-team.ru \
    --cc=wangyanan55@huawei.com \
    --cc=zhao1.liu@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.