public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael Kubacki" <mikuback@linux.microsoft.com>
To: devel@edk2.groups.io, ardb@kernel.org
Cc: Leif Lindholm <quic_llindhol@quicinc.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [RFC PATCH] ArmPkg: Enable AuditMode for Uncrustify CI checks
Date: Fri, 2 Jun 2023 11:22:29 -0400	[thread overview]
Message-ID: <4262e265-dcb2-b254-9bc6-f49a3da6d5af@linux.microsoft.com> (raw)
In-Reply-To: <1764E0991FEF04DA.11185@groups.io>

Sorry, this message was accidentally sent while I was adjusting 
formatting. I reply to the original mail with a clean reply.

On 6/2/2023 11:18 AM, Michael Kubacki wrote:
> Hi Ard,
> 
> Are there particular areas that could be improved to make it more usable 
> for you? I'm trying to find actionable improvements that can be made, if 
> any.
> 
> I know it's not perfect but developers can run it with a single keyboard 
> shortcut and it's been useful internally for eliminating style minutia 
> from distracting design and correctness conversation in code reviews.
> 
> 
> 
> 
>  > - finding out from the web UI what exactly Uncrustify objected to is not
>  >    straight-forward.
>  >
> This should not be necessary. It can be run locally to produce the same 
> result as in CI.
> 
> IDE-specific, but a lot of people use VS Code with the Uncrustify 
> extension 
> (https://marketplace.visualstudio.com/items?itemName=zachflower.uncrustify) and that allows Uncrustify to be run against the open source file by simply pressing the "code formatter" command.
> 
> I usually write the code stage or commit it and then run this command on 
> the file. The code is formatted and it gives a normal local diff of 
> exactly what Uncrustify changed.
> 
> 
> On 6/2/2023 4:51 AM, Ard Biesheuvel wrote:
>> Uncrustify checks are too rigid, making them counter-productive:
>>
>> - it leads to code that is arguably harder to parse visually (e.g.,
>>    the changes to ArmPkg/Include/Chipset/AArch64Mmu.h in commit
>>    429309e0c6b74792)
> 
> Looking at commit 7f198321eec0f520373, I see positive changes like in 
> ArmCrashDumpDxe.c spacing in the ASSERT calls and treatment of 
> multi-line parameter formatting in the mCpu->RegisterInterruptHandler() 
> call are consistent.
> 
> That carries on for a number of C calls with inconsistent spacing before 
> opening parentheses and calls such as those to the DEBUG macro which I 
> find easier to read separating each parameter on a dedicated line.
> 
> In AArch64Mmu.h, I agree that preserving the (mostly) global column as 
> opposed to block-specific columns would be easier to vertically scan. Is 
> that the main issue in the file?
> 
>> - it forces indentation-only changes to code in the vicinity of actual
>>    changes, making the code history more bloated than necessary (see
>>    commit 7f198321eec0f520373 for an example)
> 
>> - finding out from the web UI what exactly Uncrustify objected to is not
>>    straight-forward.
>>
>> So let's enable AuditMode for ArmPkg, so that interested parties can see
>> the uncrustify recommendations if desired, but without preventing the
>> changes from being merged. This leaves it at the discretion of the
>> ArmPkg maintainers to decide which level of conformance is required.
>>
>> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
>> Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>
>> Cc: Michael Kubacki <mikuback@linux.microsoft.com>
>> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>> ---
>>   ArmPkg/ArmPkg.ci.yaml | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/ArmPkg/ArmPkg.ci.yaml b/ArmPkg/ArmPkg.ci.yaml
>> index 24db7425051388cf..d3124816118944cb 100644
>> --- a/ArmPkg/ArmPkg.ci.yaml
>> +++ b/ArmPkg/ArmPkg.ci.yaml
>> @@ -239,5 +239,10 @@
>>           ],
>>
>>           "AdditionalIncludePaths": [] # Additional paths to spell check
>>
>>                                        # (wildcards supported)
>>
>> +    },
>>
>> +
>>
>> +    # options defined in .pytool/Plugin/UncrustifyCheck
>>
>> +    "UncrustifyCheck": {
>>
>> +        "AuditOnly": True
>>
>>       }
>>
>>   }
>>
> 
> 
> 
> 

  parent reply	other threads:[~2023-06-02 15:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-02  8:51 [RFC PATCH] ArmPkg: Enable AuditMode for Uncrustify CI checks Ard Biesheuvel
2023-06-02  9:34 ` Leif Lindholm
2023-06-02 15:18 ` [edk2-devel] " Michael Kubacki
     [not found] ` <1764E0991FEF04DA.11185@groups.io>
2023-06-02 15:22   ` Michael Kubacki [this message]
2023-06-02 15:26 ` Michael Kubacki
2023-06-02 15:50   ` Ard Biesheuvel
2023-06-02 16:52     ` Michael Kubacki
2023-06-21 10:41     ` Gerd Hoffmann

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-list 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=4262e265-dcb2-b254-9bc6-f49a3da6d5af@linux.microsoft.com \
    --to=devel@edk2.groups.io \
    /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