PEP 7: Add C pre-processor macro style recommendations (#3516)
This commit is contained in:
parent
c0870debbc
commit
ca28a17523
|
@ -135,6 +135,25 @@ Code lay-out
|
|||
return 0; /* "Forgive" adding a __dict__ only */
|
||||
}
|
||||
|
||||
* Vertically align line continuation characters in multi-line macros.
|
||||
|
||||
* Macros intended to be used as a statement should use the
|
||||
``do { ... } while (0)`` macro idiom,
|
||||
without a final semicolon.
|
||||
Example::
|
||||
|
||||
#define ADD_INT_MACRO(MOD, INT) \
|
||||
do { \
|
||||
if (PyModule_AddIntConstant((MOD), (#INT), (INT)) < 0) { \
|
||||
goto error; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
// To be used like a statement with a semicolon:
|
||||
ADD_INT_MACRO(m, SOME_CONSTANT);
|
||||
|
||||
* ``#undef`` file local macros after use.
|
||||
|
||||
* Put blank lines around functions, structure definitions, and major
|
||||
sections inside functions.
|
||||
|
||||
|
@ -170,6 +189,9 @@ Naming conventions
|
|||
* Macros should have a MixedCase prefix and then use upper case, for
|
||||
example: ``PyString_AS_STRING``, ``Py_PRINT_RAW``.
|
||||
|
||||
* Macro parameters should use ``ALL_CAPS`` style,
|
||||
so they are easily distinguishable from C variables and struct members.
|
||||
|
||||
|
||||
Documentation Strings
|
||||
=====================
|
||||
|
|
Loading…
Reference in New Issue