On 07/05/2020 08:21, Jan Beulich wrote:
On 06.05.2020 18:44, Paul Durrant wrote:
+#define DOMAIN_SAVE_BEGIN(_x, _c, _v, _len) \
+ domain_save_begin((_c), DOMAIN_SAVE_CODE(_x), #_x, (_v), (_len))
In new code I'd like to ask for no leading underscores on macro
parameters as well as no unnecessary parenthesization of macro
parameters (e.g. when they simply get passed on to another macro
or function without being part of a larger expression).
Personally I think it is generally good practice to parenthesize
but I can drop if you prefer.
To be honest - it's more than just "prefer": Excess parentheses
hamper readability. There shouldn't be too few, and since macros
already require quite a lot of them, imo we should strive to
have exactly as many as are needed.
While I understand that too many parentheses may make the code worse, in
the case of the macros, adding them for each argument is a good
practice. This pretty simple to follow and avoid the mistake to forget
to protect an argument correctly.
So I would let the contributor decides whether he wants to protect all
the macro arguments or just as a need basis.
Cheers,
--
Julien Grall