>>351

自分も最近そういうコーディングをする場面に出会った。
で、directionが真ならsend、偽ならreceiveというのは違和感がある。
もちろん「真はreceiveだろ」と言いたいわけではない。

is_sendという変数名の方が適切にも思えるが、
「is_sendが偽というのはreceiveを意味する」というのもおかしい。
後でこのようなソースを見た人間は、is_sendが真ならsendであるということは
自明であると判断してくれるだろうが、is_sendが偽というのは単にsendではない
ということが自明であるだけで、必ずしもreceiveであるとは限らないのでは?
と勘繰ってしまうことも考えられる。
(最近糞コードの改修の仕事が多いせいか、自分は勘繰ってしまう。)

ならばと、以下のように列挙型にしてみたけれど、Cの列挙型って単なる整数でしかなく、
何を代入してもOKなのでやっぱり今ひとつだなあ。
typedef enum {SEND, RECEIVE} SendOrReceive;
SendOrReceive send_or_receive;
send_or_receive = SEND;
if (send_or_receive == SEND)
 printf("send\n");
send_or_receive = 0; // ←こういうのがエラーにならないのが困る。