> I venture that if you can't see that, you must still be in your
> first job and haven't yet had the task to maintain somebody else's code.
And I venture that, in my experience (which is not as limited as you impolitely presume),
"somebody else's code" is a whole lot more difficult to work with when I have to dig through
arbitrary levels of opaque macros to figure out what they're really trying to do.
Clearly we have a difference in opinion. I prefer in code that is written clearly enough to
be self-explanatory. Consider:
inode->i_blocks = bytes >> 9;
inode->i_blocks = BYTES_TO_BLOCKS(bytes);
If you maintain that the second version conveys more information than the first, then I'm
afraid we will just have to disagree.