qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 2/4] docs, qapi: generate undocumented return sections


From: Markus Armbruster
Subject: Re: [PATCH v2 2/4] docs, qapi: generate undocumented return sections
Date: Tue, 01 Apr 2025 08:07:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

John Snow <jsnow@redhat.com> writes:

> On Thu, Mar 27, 2025 at 5:11 AM Markus Armbruster <armbru@redhat.com> wrote:
>
>> John Snow <jsnow@redhat.com> writes:
>>
>> > This patch changes the qapidoc transmogrifier to generate Return value
>> > documentation for any command that has a return value but hasn't
>> > explicitly documented that return value.
>> >
>> > Signed-off-by: John Snow <jsnow@redhat.com>
>>
>> Might want to briefly explain placement of the auto-generated return
>> value documentation.  But before we discuss that any further, let's
>> review the actual changes the the generated docs.
>>
>> This patch adds auto-generated return value documentation where we have
>> none.
>>
>> The next patch replaces handwritten by auto-generated return value
>> documentation where these are at least as good.  Moves the return value
>> docs in some cases.
>>
>> First the additions:
>>
>> * x-debug-query-block-graph
>>
>>   Title, intro, features, return
>>
>> * query-tpm
>>
>>   Title, intro, return, example
>>
>> * query-dirty-rate
>>
>>   Title, intro, arguments, return, examples
>>
>> * query-vcpu-dirty-limit
>>
>>   Title, intro, return, example
>>
>> * query-vm-generation-id
>>
>>   Title, return
>>
>> * query-memory-size-summary
>>
>>   Title, intro, example, return
>>
>> * query-memory-devices
>>
>>   Title, intro, return, example
>>
>> * query-acpi-ospm-status
>>
>>   Title, intro, return, example
>>
>> * query-stats-schemas
>>
>>   Title, intro, arguments, note, return
>>
>> Undesirable:
>>
>> * query-memory-size-summary has returns after the example instead of
>>   before.  I figure it needs the TODO hack to separate intro and example
>>   (see announce-self).
>>
>
> Yes
>
>
>>
>> * query-stats-schemas has a note between arguments and return.  I think
>>   this demonstrates that the placement algorithm is too simplistic.
>>
>
> Yeah ... It's just that *glances at length of email* it's been a sensitive
> topic without a lot of certainty in desire, so I've tried to keep things on
> the stupid/simple side ...

When the best solution is unclear, starting discussion with a simplistic
solution is smart.  Beats starting with a complicated solution that gets
shot down.

>> Debatable:
>>
>> * x-debug-query-block-graph has returns after features.  I'd prefer
>>   returns before features.  No need to debate this now.
>>
>
> Willing to do this for you if you'd like to enforce it globally. I'd be
> happy with any mandated order of sections, really.

Could a more rigid order help the inliner, too?

>> Next the movements:
>>
>> * x-debug-block-dirty-bitmap-sha256
>>
>>   From right before errors to right after
>>
>> * blockdev-snapshot-delete-internal-sync
>>
>>   From right before errors to right after
>>
>> * query-xen-replication-status
>>
>>   From between intro and example to the end
>>
>> * query-colo-status
>>
>>   From between intro and example to the end
>>
>> * query-balloon
>>
>>   From right before errors to right after
>>
>> * query-hv-balloon-status-report
>>
>>   From right before errors to right after
>>
>> * query-yank
>>
>>   From between intro and example to the end
>>
>> * add-fd
>>
>>   From between arguments and errors to between last note and example
>>
>> I don't like any of these :)
>>
>
> So it goes ...
>
>
>>
>> Undesirable:
>>
>> * query-xen-replication-status, query-yank, and query-colo-status now
>>   have return after the example instead of before.  I figure they now
>>   need the TODO hack to separate intro and example.
>>
>
> Yes
>
>
>>
>> * add-fd now has a note between arguments and return.  Same placement
>>   weakness as for query-stats above.
>>
>> Debatable:
>>
>> * x-debug-block-dirty-bitmap-sha256,
>>   blockdev-snapshot-delete-internal-sync, query-colo-status, and
>>   query-hv-balloon-status-report now have return after errors instead of
>>   before.  I'd prefer before.
>>
>> What's the stupidest acceptable placement algorithm?  Maybe this one:
>>
>> 1. If we have arguments, return goes right after them.
>>
>> 2. Else if we have errors, return goes right before them.
>>
>> 3. Else if we have features, return goes right before them.
>>
>> 4. Else return goes right after the intro (to make this work, we need
>>    a few more TODO hacks).
>>
>> Would you be willing to give this a try?
>>
>
> Probably ...
>
> So this algorithm seems to imply a preference for this ordering:
>
> 1. Intro
> 2. Arguments
> 3. Return
> 4. Errors
> 5. Features
> 6. Details
>
> Do I have that correct?

Yes, with

  7. Since

although a case could also be made for

  1. Intro
  2. Arguments
  3. Return
  4. Errors
  5. Features
  6. Since
  7. Details




reply via email to

[Prev in Thread] Current Thread [Next in Thread]