Subject: Re: [bug#66436] [PATCH v2] doc: Add some guidelines for reviewing.

From: Simon Tournier <[email-masked]>
Date: Wed, 25 Oct 2023 15:53:04 +0200

Hi

On Tue, 24 Oct 2023 at 17:54, Ludovic Courtès <[email-masked]> wrote:

>> +@item
>> +@emph{Remain focused: do not change the scope of the work being
>> +reviewed.}  For example, if the contribution touches code that follows a
>> +pattern deemed unwieldy, it would be unfair to ask the submitter to fix
>> +all occurrences of that pattern in the code; to put it simply, if a
>> +problem unrelated to the patch at hand was already there, do not ask the
>> +submitter to fix it.

For me this item is clear…

> Another item came to mind, that could be phrased like this:

…while this new is unclear…

>   Spend time proportional to the stakes.  Ensure the discussion focuses
>   on important aspects of the changes; do not let it be derailed by
>   objectively unimportant issues@footnote{This situation is often
>   referred to as ``bikeshedding'', where much time is spent discussing
>   each one's preference for the color of the shed at the expense
>   progress made on the project to keep bikes dry.}.  In particular,
>   issues such as code formatting and other conventions can be dealt with
>   through automation---e.g., @command{guix lint} and @command{guix
>   style}---or through documentation (@pxref{Packaging Guidelines}, as an
>   example).

…especially in the light of these other items:

        +@item
        +@emph{Review is a discussion.}  The submitter's and reviewer's views on
        +how to achieve a particular change may not always be aligned.  As a
        +reviewer, try hard to explain the rationale for suggestions you make,
        +and to understand and take into account the submitter's motivation for
        +doing things in a certain way.

        +@item
        +@emph{Aim for finalization.}  Reviewing code is time-consuming.  Your
        +goal as a reviewer is to put the process on a clear path towards
        +integration, possibly with agreed-upon changes, or rejection, with a
        +clear and mutually-understood reasoning.  Avoid leaving the review
        +process in a lingering state with no clear way out.

Well, I do not like: « discussion focuses on important aspects of the
changes; do not let it be derailed by objectively unimportant issues »
because it is not clear for me what means “important aspects” or
“objectively unimportant issues”.  How do I gauge?

Sometimes, what does not appear to me “important” at first has then, at
the end, an impact that cannot be neglected.  This new item appears to
me as: it is not a open discussion and you should refrain from
commenting if you are not sure your point is *absolutely* important.

Instead of this new item – where my understanding is: avoid bikeshed :-)
and I agree – I propose to amend the item @emph{Review is a discussion.}
by explicitly refer to the 3 other items; which are, IMHO, the guards
against bikeshedding.  Something along:

--8<---------------cut here---------------start------------->8---
@item
@emph{Review is a discussion.}  The submitter's and reviewer's views on
how to achieve a particular change may not always be aligned.  The
discussion is lead by remain focused, ensure progress and aim for
finalization; spend time proportional to the stakes@footnote{This
situation is often referred to as ``bikeshedding'', where much time is
spent discussing each one's preference for the color of the shed at the
expense progress made on the project to keep bikes dry.}.  As a
reviewer, try hard to explain the rationale for suggestions you make,
and to understand and take into account the submitter's motivation for
doing things in a certain way.
--8<---------------cut here---------------end--------------->8---

WDYT?  Does it capture the idea?

If yes, I would pick this order for the enumeration:

 1. Be clear and explicit about changes you are suggesting 
 2. Remain focused
 3. Ensure progress
 4. Aim for finalization
 5. Review is a discussion

Cheers,
simon