[libvirt] [PATCH 2/2] Added syntax-check rule for return with parentheses

Martin Kletzander mkletzan at redhat.com
Fri Mar 23 07:27:41 UTC 2012


On 03/23/2012 07:21 AM, Osier Yang wrote:
> On 03/22/2012 07:33 PM, Martin Kletzander wrote:
>> After cleanup introduced with previous commit, there is a need for
>> syntax-check rule taking care of return(). Regexp used in 'prohibit'
>> parameter is taken from the cleanup commit and modified so it fits
>> 'grep -E' format. Semicolon at the end is needed, otherwise the regexp
>> could match return with cast.
>>
>> No exception is needed thanks to files excused by default. The
>> exception is not even needed for python files because 1) when
>> returning a tuple, you can still omit parentheses around (unless there
>> is only one value inside, but that's very unusual case),  2) return in
>> python doesn't need semicolon at the end of statement when there is no
>> statement following (and statement following 'return' doesn't make
>> sense).
> 
> This forces the Python coding style actually, prohibiting one
> writes Python codes like:
> 
> def test():
>     return (1);
> 
> def test1():
>     return (1,2,3);
> 
> regardless of whether coding like this is good or bad, usual or
> unsual, they are legal in Python, and we don't say they are not
> allowed in HACKING or somewhere else.
> 
> Not sure if we should allow this, even we will allow that, we
> need to document it somewhere, or more clear and specific for .py
> files in halt message.
> 

You're right. I feel inclined to the version where we don't force this
for python code. My initial concern was about python-generated C code,
but that's a small portion of the code and it's fixed already. Instead
of creating some internal python code style, I'll send v2 with the
exception in a minute.




More information about the libvir-list mailing list