I think it's really just a matter of how well known the idioms are.
The linux kernel, for example, has a lot of idioms.
For instance, you never do
static int x = 0;
Instead, you do:
static int x;
(the compiler will make it zero. Argue with the kernel guys, not me.)
You don't do:
if (x != NULL)
you do:
if (x)
you don't do:
if (something == whatever)
return 0;
else
return 1;
you do:
return (something != whatever);
And, occasionally this mixing of integers with booleans can come out really handy, like this: build_assert.h
the meat of which is:
#define EXPR_BUILD_ASSERT(cond) \
(sizeof(char [1 - 2*!(cond)]) - 1)
They use gotos liberally for error handling paths, which is a bit contrarian.
The one or two line things are probably a wash when it comes to readability and maintainability. It's trivial stuff. The real meat in the maintainability and readability departments is (from my experience) in larger scale things. To me, a lot of the OOP stuff tends to make code easier to WRITE, but harder to READ, and harder to DEBUG. To me, that's a net loss. So, I'm not a big fan of oop. Oops... I veered off topic.