Indentifiers should be pronouncable, out-loud.
I think hrvastki is pronouncable easily ("hash ifndef" even easier, as
in "pie'n'chips"). But I have a Czech friend so I may have different
ideas about what is pronouncable said:
For example, someone had the brainless idea to prefix internet servers that
serve HTTP with 'www'. Nobody reviewed that prefix for pronouncability,
meaning today radio personalities suffer when their programming formats
forbid "dub-dub-dub" or "triple-double-you". They must say "double-you
double-you double-you" all day.
It's easy in German: "vay vay vay". Not too bad in Cymraeg (Welsh): "oo
oo oo". In English I've heard "wuh wuh wuh"...
So, read your code out loud, including the #ifdef, and listen for if it
makes sense...
I say a lot of code (not necessarily out loud, but I pronounce it to
myself). For instance:
x = (i > 1 ? fred : bill);
I say as "x equals if i greater than one then fred, else bill". Which
is a reason I tend to avoid very complex expressions, if I can't say it
clearly and meaningfully then it should probably be broken down into
simpler expressions.
In the case of nested #ifdefs being replaces by #if defined(...), the
same applies:
ifdef FRED then
ifdef BILL then
ifndef JOE
...
versus:
if defined FRED and defined BILL and not defined JOE ...
Chris C