私はそれが実際にそのイディオムがどれほどよく知られているかの問題だと思います。
たとえば、Linuxカーネルには多くのイディオムがあります。
たとえば、あなたは決してしません。
static int x = 0;代わりに
、あなたが実行します。
静的int型のX;
(コンパイラが0になります、カーネルの男と私ではないと主張する。。)
をあなたはいたしません。
場合(Xを!= NULL)
あなたは:
あなたがいない(x)の
場合:
を(何か==何でも) リターン0場合。 else return 1;
あなたは:
返品(何か!=何でも);
そして、時折、ブール値と整数のこの混合は本当に便利出てくることができ、このように:build_assert.h
となっている肉:
#define EXPR_BUILD_ASSERT(cond) \
(sizeof(char [1 - 2*!(cond)]) - 1)
彼らはパスをエラー処理のための自由のgotoを使用し、どの少しcontrarianです。
可読性とメンテナンス性に関しては、1行または2行の行はおそらく洗濯物です。それは簡単なものです。保守性と可読性の部門の本当の肉は、私の経験から、より大規模なものです。私にとって、OOPの多くは、コードを書くのが簡単になる傾向がありますが、READは難しくなり、DEBUGは難しくなります。私にとっては、それは純損失です。だから、私はoopの大ファンではない。おっと...私は話題から外れました。