On Fri, Aug 20, 2010 at 6:44 PM, Blue Swirl <blauwir...@gmail.com> wrote:
> On Fri, Aug 20, 2010 at 1:47 PM, Markus Armbruster <arm...@redhat.com> wrote:
>> Anthony Liguori <anth...@codemonkey.ws> writes:
>>
>>> On 08/17/2010 03:04 AM, Jes Sorensen wrote:
>>>> On 08/13/10 20:02, Blue Swirl wrote:
>>>>
>>>>> On Fri, Aug 13, 2010 at 3:22 PM, Miguel Di Ciurcio Filho
>>>>> <miguel.fi...@gmail.com>  wrote:
>>>>>
>>>>>> The existing code that I have touched don't follow the current coding
>>>>>> style guidance, much less all the new recommendations being suggested.
>>>>>>
>>>>>> Although, I do believe that this situation needs to change. If we
>>>>>> agree in a coding style, I would volunteer to be a some kind of
>>>>>> observer to fix and alert people about coding styles mistakes.
>>>>>>
>>>>> I fully agree on the need of change and support your excellent idea.
>>>>> There are other ways to solve the problem, but I believe we need more
>>>>> order than more chaos. Perhaps we the QEMU developers should appoint
>>>>> you the Guardian of the CODING_STYLE, and add a rule that no patch
>>>>> shall be committed without your CS-Acked-by line?
>>>>>
>>>> I don't think this would ever work, it is begging for trouble relying on
>>>> one person to review all patches for this.
>>>>
>>>> While I agree coding style is good since it enforces consistency, there
>>>> are plenty problems with the old rules
>>>
>>> To be perfectly honest, we have enough hard problems to solve in QEMU.
>>> We're spending a lot more time on coding style than we probably need
>>> to :-)
>>
>> In my not so humble opinion, that's because the current CODING_STYLE is
>> idiosyncratic, widely disliked (follows from idiosyncratic pretty much
>> inevitably), widely violated by existing code, and only haphazardly
>> enforced for new code.
>
> I think Coccinelle could help us here, it can check for some of the
> CODING_STYLE issues. We only need to include it to our build system
> and add git hooks if possible. It can also perform mechanical
> conversions (if desired).

This Coccinelle script seems to do the job:
@curly_if@
position p;
@@

i...@p (...) { ... }

@simple_if@
position p != curly_if.p;
statement S;
expression E;
@@

- i...@p (E) S
+ if (E) {
+    S
+ }

@curly_for@
position q;
@@

f...@q (...;...;...) { ... }

@simple_for@
position q != curly_for.q;
statement S;
expression E1, E2, E3;
@@

- f...@q (E1; E2; E3) S
+ for (E1; E2; E3) {
+    S
+ }

@curly_while@
position r;
@@

wh...@r (...) { ... }

@simple_while@
position r != curly_while.r;
statement S;
expression E;
@@

- wh...@r (E) S
+ while (E) {
+    S
+ }

There are some formatting issues though, I get changes like:
-    for (i=0; i<5; i++)
+    for(i = 0;i < 5;i++) {

Reformatting the expressions with more spaces is nice, but removing
the spaces between 'for' and '(' and especially after ';' is not.

Reply via email to