All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: "Lucas Mateus Castro(alqotel)" <lucas.araujo@eldorado.org.br>
Cc: qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
	"Philippe Mathieu-Daudé" <philippe.mathieu.daude@gmail.com>,
	"Gan Qixin" <ganqixin@huawei.com>,
	"Daniel Henrique Barboza" <danielhb413@gmail.com>,
	"Daniel P. Berrange" <berrange@redhat.com>
Subject: Re: [RFC PATCH RESEND] scripts/checkpatch.pl: Change line limit warning
Date: Thu, 9 Jun 2022 14:56:59 +0100	[thread overview]
Message-ID: <CAFEAcA-yMZjJW=AJm=XLbrub1D-8iX0OKE78V_TzQmfC2RdXyw@mail.gmail.com> (raw)
In-Reply-To: <20220606143419.656598-1-lucas.araujo@eldorado.org.br>

On Mon, 6 Jun 2022 at 15:34, Lucas Mateus Castro(alqotel)
<lucas.araujo@eldorado.org.br> wrote:
>
> The QEMU documentation mentions that lines should be up to 80
> characters and that the script checkpatch will warn at 100 characters,
> but the script warns at 80 characters and throw and error at 90, so
> this commit changes to warn at 100.
>
> As to why extend, the argument that resulted in the change of the
> docs was that trying to always wrap to 80 columns could result in less
> readable code, so sometimes not wrapping was the better choice and in
> those circumstances checkpatch could nudge people into creating less
> readable code.
>
> A 132 error limit is put to catch overly big lines.
>
> Based-on: 20201105154208.12442-1-ganqixin@huawei.com
> Signed-off-by: Lucas Mateus Castro(alqotel) <lucas.araujo@eldorado.org.br>
> ---
> Currently there's a disagreement between the checkpatch code and the
> documentation, this RFC just changes the checkpatch to match the
> documentation.
> But there was a discussion in 2020 as the best way to deal with this,
> some alternatives mentioned are: change the warning to remind people to
> not blindly wrap just because of the warning, change to warn at 90 columns
> (which would mean changing the column limit for the error as well). If any
> of those are preferred I'll send a next version updating the documentation
> as well as changing checkpatch.pl to the preferred behavior.

The reason the code doesn't match the style docs is partly
my fault I guess. The style docs were updated with
commit a998de0dcd ("CODING_STYLE.rst: Be less strict about 80 character limit");
that commit message says "this goes with the checkpatch changes to warn at
100 characters rather than 80", but we never committed the checkpatch
changes. Those were this patch:
https://lore.kernel.org/qemu-devel/20201105154208.12442-1-ganqixin@huawei.com/
(which started the discussion out on an awkward footing by not including
the rationale in its commit message; it was prompted by a discussion on
a previous patchset:
https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg05653.html

Equivalent kernel checkpatch.pl loosening:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bdc48fa11e46f867ea4d75fa59ee87a7f48be144

Anyway, I think the main objector last time around was Markus, and
there's kind of an unresolvable difference of views here:

(1) I want checkpatch not to warn about line lengths that in fact
we'd be happy to include in the tree (because it's noise, and it
pushes people into wrapping the cases which the style guide describes
as "awkwardly wrapped" and better not wrapped, to silence the warning),
so I don't want checkpatch to even warn on less than 90 or 100 chars.
This is effectively also the position that the Linux kernel
checkpatch takes these days.

(2) Markus (as I understand his point of view from the 2020 thread)
wants checkpatch to warn about anything over the "this is definitely
fine" 80 column mark, so that developers are reminded that
they might want to make a judgement call there.

The coding-style text reflects my point of view, because I
wrote it, and therefore personally I'm happy to update checkpatch
to match it :-)

> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index d900d18048..2c2d7b31ab 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1639,12 +1639,12 @@ sub process {
>                 if ($line =~ /^\+/ &&
>                     !($line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
>                     !($rawline =~ /^[^[:alnum:]]*https?:\S*$/) &&
> -                   $length > 80)
> +                   $length > 100)

Gan Qixin's patch has the advantage of putting the max length into
a variable rather than continuing to hardcode it.

thanks
-- PMM


  reply	other threads:[~2022-06-09 15:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-06 14:34 [RFC PATCH RESEND] scripts/checkpatch.pl: Change line limit warning Lucas Mateus Castro(alqotel)
2022-06-09 13:56 ` Peter Maydell [this message]
2022-06-21 17:19   ` Lucas Mateus Martins Araujo e Castro

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='CAFEAcA-yMZjJW=AJm=XLbrub1D-8iX0OKE78V_TzQmfC2RdXyw@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=danielhb413@gmail.com \
    --cc=ganqixin@huawei.com \
    --cc=lucas.araujo@eldorado.org.br \
    --cc=philippe.mathieu.daude@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /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.