style patches - discuss
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Jul 27 06:13:18 UTC 2023
On 26.07.23 17:17, Gedare Bloom wrote:
> On Tue, Jul 25, 2023 at 11:15 PM Sebastian Huber
> <sebastian.huber at embedded-brains.de> wrote:
>>
>> On 25.07.23 23:41, Gedare Bloom wrote:
>>> I have sent two initial patches to begin the style reformat. The
>>> clang-format file is not quite 100%, and it's also not usable by
>>> anyone else (as I wait for changes to be accepted upstream).
>>>
>>> A few things to note:
>>> * We can always manually override style with good reason. If you see
>>> something like that in a patch, please let me know.
>>> * I have started to avoid changing the __asm __ ... blocks, as
>>> clang-format doesn't do a great job with those at the moment.
>>> * clang-format also doesn't know how to indent broken if/for loops
>>> like we prefer. So i may need to continue manual intervention on those
>>> until I can get around to teaching it how. I believe that is doable,
>>> but will take me some time to implement and get upstream.
>>> * clang-format also has a preference to break function declarations
>>> differently than we do. It will prefer to break after the function
>>> return type/decorators, rather than in the parameter list. This may be
>>> something we can tune. For now, I fix this manually.
>>>
>>> I may prepare a few more patches tomorrow, but I will leave these two
>>> for the time being for feedback.
>>
>> Thanks for the samples. A good test file is
>> cpukit/score/src/threadqenqueue.c.
>>
>> In the samples, there are a lot of changes in everything involving ()
>> and []. I think we should either
>>
>> * aim for a configuration which performs a minimum set of changes in
>> files which are close to the existing score style, or
>>
>> * choose a standard style.
>>
> I agree. i think I can get clang-format closer to that "minimum set"
> but it seems to require still a few more modifications upstream.
>
> Regarding spaces in [], I analyzed the score and found it was not
> consistent, but more of the time there were not spaces:
> $ grep -r "\[[^[:space:]]" | wc
> 2615 17577 191765
>
> $ grep -r "\[[[:space:]]" | wc
> 223 1509 16393
You have to look also at the files and not just the overall count. The
[x] style is mostly used on files outside the original score (newer
contributions, CPU ports, BSD sources).
The style guide doesn't cover the [] explicitly, but I think we should
just apply the rules for ():
https://docs.rtems.org/branches/master/eng/coding-formatting.html
>
> So that one is manageable. The situation with spaces after parentheses
> is trickier. There is a preference by some to avoid spaces in the
> nested parentheses of arithmetic/logic expressions. This seems to be
> somewhat consistent, but it is also a bit complicated to detect the
> difference between:
> z = ( x + y )
> z = ( x + (x + y) )
>
> Not impossible, but also not really standard anywhere that I have seen.
I would place spaces everywhere or nowhere around things involving ()[].
z = ( x + ( x + y ) )
or
z = (x + (x + y))
A main characteristic of the score style is the excessive use of spaces
around everything, but only two spaces for indentation ;-)
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list