WHUI! (was Re: [Python-Dev] Proposal: C API Macro to decref andset to NULL) (original) (raw)
Tim Peters tim.peters at gmail.com
Tue Jul 13 17:47:51 CEST 2004
- Previous message: WHUI! (was Re: [Python-Dev] Proposal: C API Macro to decref andset to NULL)
- Next message: WHUI! (was Re: [Python-Dev] Proposal: C API Macro to decref and set to NULL)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Jeremy]
> This violates the Python C style by putting an assignment in a conditional.
[Jim]
Where is this documented? Assignments in conditionals are used widely in the C sources, including such places as gcmodule.c, object.c, and typeobject.c.
It's not actually part of PEP 7 (the Python C style guidelines).
It was an informal rule in PythonLabs (at least the non-Guido part of it ), triggered by noting how many subtle bugs in real life ended up involving an embedded-in-a-conditional assignment. I don't run around getting rid of those for their own sake, but if I'm rewriting a piece of code for other reasons it's a transformation I routinely make now. And you can count the number of Python bugs traced to my C code over the last decade on one finger <wink -- but avoiding doing multiple things on a single line really helps, and so does avoiding side effects in the interior of expressions>.
- Previous message: WHUI! (was Re: [Python-Dev] Proposal: C API Macro to decref andset to NULL)
- Next message: WHUI! (was Re: [Python-Dev] Proposal: C API Macro to decref and set to NULL)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]