[Python-Dev] cpython: Avoid useless "++" at the end of functions

Benjamin Peterson benjamin at python.org
Thu May 26 20:26:43 CEST 2011


2011/5/26 Terry Reedy <tjreedy at udel.edu>:
> On 5/26/2011 2:08 PM, Guido van Rossum wrote:
>
>> Sorry to butt in here, but I agree with Eric that it was better
>> before. There is a common idiom, *pointer++ =<something>, and
>> whenever you see that you know that you are appending something to an
>> output buffer. Perhaps the most important idea here is that this
>> maintains the *invariant* "pointer points just after the last thing in
>> the buffer". Always maintaining the invariant is better than trying to
>> micro-optimize things so as to avoid updating dead values. The
>> compiler is better at that.
>
> This explanation makes sense (more than Eric's version of perhaps the same
> thing ;-).
>
> http://bugs.python.org/issue12188
> "A condensed version of the above added to PEP 7 would help new developers
> see the usage as local idiom rather than style bug."

I think a more general formulation would be: "Idiomatic code is more
important than making static analyzers happy."



-- 
Regards,
Benjamin


More information about the Python-Dev mailing list